Anduin Xue
Anduin Xue

Anduin's Tech Blog

All Posts in 2025


Set up a local docker registry mirror

本文介绍了通过自托管Docker registry镜像Docker镜像到本地服务器的完整方案包含三个Python脚本check.py验证镜像是否为最新版delete.py删除损坏镜像mirror.sh自动化镜像流程以及配套的Docker容器化部署方案首先通过docker run启动registry服务编写三个Python脚本实现镜像状态检测和清理编写包含所有目标镜像的mirror.sh脚本使用regctl工具执行镜像拉取和推送操作通过Dockerfile构建包含必要依赖的容器镜像配置定时任务实现每日自动执行镜像任务同时提供本地registry的使用方法包括配置daemon.json信任不安全仓库和镜像推送拉取操作最终形成完整的Docker镜像本地化镜像解决方案--Qwen3

Automation Python Docker Registry Mirroring Scripting

复习数据结构 - 撸个哈希树

本文通过构建二叉哈希树结构探索了时间复杂度为O(1)的集合实现方案。该方案通过将输入字符串的哈希值转化为二进制路径,在树结构中逐位判断左右分支构建节点,最终在终端节点标记存在状态。测试结果验证了其在百万级数据插入后仍能保持快速查找的特性,但哈希碰撞问题导致存在误判风险。这种结构在空间换时间的策略下,特别适合用于低精度场景的快速判断如用户注册状态检测。当哈希碰撞概率与内存消耗的平衡点如何取舍?是否可以通过引入多级哈希或动态调整树结构来降低碰撞率?面对大规模数据场景时二叉树的深度是否会成为性能瓶颈?这些开放问题提示着数据结构设计始终需要在理论最优与实际约束之间寻找最优解。--Qwen3

Binary Tree Custom Collection Binary Hash Trie Data Structure Hashing Set Operations

Run docker container with GPU in Docker swarm

本文探讨了在Docker Swarm环境中启用GPU支持的创新方法与潜在挑战。作者通过对比传统docker-compose配置与Swarm模式的限制揭示了一个关键矛盾:Swarm不支持在资源预留中直接声明GPU设备这一设计缺陷迫使开发者寻找替代方案。文章核心贡献在于提出了一种基于嵌套容器的解决方案通过创建可附着的overlay网络将GPU容器与Swarm管理的容器解耦实现跨节点的GPU资源共享。这种方法巧妙利用了docker-in-docker架构在宿主机上启动独立GPU容器的同时确保其他服务可通过自定义网络与其通信。这种架构突破了传统资源分配的桎梏但同时引发新的思考:当容器嵌套层级增加时性能损耗是否可被接受?这种间接访问方式是否会影响系统的可观测性?更重要的是这种工作模式是否暗示了云原生硬件资源调度的新范式?文章通过成功运行Ollama模型的案例证明了方案的可行性但留下的疑问更值得深思:当我们在追求资源隔离与共享的平衡时是否正在重新定义容器化的边界?--Qwen3

Docker Swarm GPU Resource Management Ollama DeepSeek Model Docker Networking Resource Allocation

使用 NPU 来运行 DeepSeek R1 32B

文章探讨了如何通过OpenVINO工具包在Intel Ultra 7处理器的NPU上运行DeepSeek R1 32B大语言模型的过程与挑战。作者首先尝试用CPU运行32B模型却遭遇性能瓶颈,随后揭示了NPU驱动安装与OpenVINO优化的必要性。通过安装NPU驱动三件套(intel-driver-compiler-npu、intel-fw-npu、intel-level-zero-npu)并配置用户权限,结合OpenVINO的Python环境搭建,最终成功将量化为4bit的DeepSeek-R1-Distill-Qwen-32B模型部署到NPU。实验表明NPU推理速度显著优于CPU但仍有提升空间,这一实践为边缘设备运行大模型提供了新思路。文章抛出若干值得思考的问题:如何平衡模型量化带来的精度损失与性能提升?NPU在处理更复杂的多模态任务时能否突破现有算力限制?当大模型持续扩展参数量时,专用硬件加速器的架构设计将如何演变?这些疑问或许正是推动AI技术突破的下一个关键节点。--Qwen3

Ai Lunarlake NPU Deepseek Hugging face OpenVINO