首页
TjFish
取消

大型任务的多进程优化过程记录,从3个月优化到3天

事情起因是这样的,一天学长找到我说:”学弟啊,你有没有空啊。现在跑机器学习实验,跑3个月结果还跑不出来,你能不能帮我优化一下代码啊?” 我心想:“一次实验跑三个月,万一写了一点bug,实验不又得重头再来三个月,这也太令人头皮发麻了吧?“ 于是我开始了实验代码优化之旅。 1.整体思路 该项目整体代码量非常多,实验室内已经维护了3~4年,整个项目构建在Pytorch上,会到大数据集进行聚...

k8s日志采集框架搭建

学校信息办需要搭建统一的日志中心,将大部分服务的日志都迁移到日志中心上来。之前查看日志都是登录到应用部署的机器上,手动查看日志文件,很不方便。 有了日志中心后,可以在一处查看所有服务的日志,方便运维管理,快速排查问题。 这些天基于ELK+Filebeat在k8s集群上搭建了一套日志采集+日志存储+日志检索的日志中心服务,整个中间也遇到了很多问题,也学到了许多,在此做些记录。 日志采集架...

Raft分布式一致性协议的实现思路

暑期的时候参加了麻省理工大学的分布式系统课程(MIT 6.824 ),其中的课程实验要求实现Raft分布式一致性协议,一致性协议的应用是为了维护各节点数据的一致性,换句话说,就是使集群里的节点存储的数据是一模一样的。实现Raft协议后,需要在此基础上实现基于Raft的kv数据库。 项目开发语言是GO,之前并没有接触过,也顺便跟着课程实验学一学。 目前已经完成了前三个课程实验,实现了一个基...

领域驱动设计学习总结与记录

下面的文章是我看过后,非常推荐的领域驱动设计文章,值得用心学习记录。 领域驱动设计学习总结与记录 详解DDD系列 第一讲 - Domain Primitive 详解DDD系列 第二讲 - 应用架构 详解DDD系列 第三讲 - Repository模式 详解DDD系列 第四讲 - 领域层设计规范 详解DDD系列 第五讲 - 聊聊如何避免写流水账...

《clean code》读后感

读完《clean code》一书,有些想法,想要记录下来。 《clean code》在一年前字节实习的时候就听同事推荐过,但一直没有下决心来看。本学期软件建模课程的刘岩老师又一次提起了它,在第一节课上,她提了两本书建议我们看看:《Domain Driven Design》和《clean code》。第一本书是关于领域驱动设计的,我看过后备受启发。这本书打开了我对面向对象的大门,让我发现了我...

字节跳动实习报告

时隔两年,在翻阅历史文档时不经意发现两年前写的实习报告,颇觉诙谐有趣,于是发出来邀诸君共赏。 我的实习单位是字节跳动上海商业变现部门,在为期六个月的实习中,我主要从事后端开发工作,时间为2020年8月至2021年1月。这个部门的主要职能是为字节跳动各项业务提供广告变现结算服务,包括对账单,发票,税率,催款,坏账等业务场景。我的实习岗位是后端开发实习生,主要负责维护税率,返点模块,迭代开发回...

TLinux2.4系统安装与配置

学校k8s管理平台TCS需要新加机器,由于政策原因,只能使用国产系统tlinux。 我之前玩过双系统,对系统安装这块不陌生,所以这次由我负责给新机器安装tlinux2.4系统,并配置好网络。 系统安装 tlinux iso下载 tlinux2.4 下载地址 https://mirrors.cloud.tencent.com/tlinux/2.4/iso/ 页面上有TK3和TK4两个...

什么是分布式事务?

分布式事务 什么是分布式事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。 事务的四个属性 Atomic,原子性。它意味着,事务可能有多个步骤,比如说写多个数据记录,尽管可能存在故障,但是要么所有的写数据都完成了,要么没有写数据能完成。不应该发生类似这种情况:在一个特定的时间发生了故障,导致事务中一半的写数据完成并可见,另一...

GFS - Zookeeper-论文阅读

GFS GFS是Google于2003年发表的论文,在真实系统上构建了大范围的分布式文件系统。GFS 的地位相当之高,与MapReduce 以及 BigTable 作为早年间Google的大数据三驾马车,虽然这些年随着时代都逐渐被取代了。下面是Google 文件系统发展的系统分支。 GFS的研究动机:Google拥有远超过单个磁盘容量的数据,例如从整个互联网爬出来的网页,YouTub...

分布式MapReduce

最近暑假在家有空,跟着MIT分布式系统课程学一学分布式系统,顺便跟着课程实验学一学go,希望能在开学前学完吧。 分布式系统介绍 分布式系统:多台计算机合作提供服务。 为什么要构建分布式系统? 通过并行增加处理容量 通过复制来容忍故障 通过隔离实现安全 和现实世界物理设备(例如传感器)的分布相匹配 分布式系统的困难? 许多并发部分,复杂的交互过程 必须...