北京大学区块链公开课


本课程主要讲解区块链的基本概念和实现原理,面向具有计算机相关的基础知识,对区块链技术和应用感兴趣的同学。 通过这门课的学习,能够掌握比特币、以太坊等区块链技术的设计思路并有效解决实际问题。



高效低延迟的虚拟机热备份系统研究


基于虚拟化技术的双机热备份系统往往被认为是提供容错服务的有效手段之一,该系统一般要求在两台物理机上分别运行主虚拟机和备份虚拟机,主虚拟机周期性地将其完整的机器状态备份到备份虚拟机中,一旦主虚拟机所在物理机发生硬件故障,则由备份机接管,继续执行。然而传统的虚拟机热备份系统往往会引入极大的性能开销以及极高的网络延迟,而这往往是这些关键应用所无法接受的,因此也限制了虚拟机热备份系统的应用。本团队针对上述问题,从多个角度出发,深入研究,分别实现了Taiji以及Phantasy两个虚拟机热备份系统,较好的解决了热备份系统运行性能开销过大及网络延迟过长等问题。



基于硬件辅助虚拟化的

多核确定性重演系统研究


虚拟机确定性重演系统在记录阶段将程序执行时发生的所有不确定性事件记录到日志中,在重演阶段选取相同的检查点作为执行起始点,并且在相同位置插入记录阶段的所有不确定性事件,使得处理器执行相同的指令流,进而得到一致的输出和结果。然而多核处理器环境的出现给确定性重演技术带来了极大的挑战,本研究团队提出了基于硬件辅助虚拟化的多核确定性重演系统——Samsara。Samsara是第一个基于硬件辅助虚拟化技术来从软件上实现多核虚拟机在线确定性重演的系统,该系统采用了基于执行块的方法,在运行时将虚拟处理器执行的指令划分为若干个指令块,通过指令块内存访问写时复制机制和指令块的提交-回滚机制保证指令块的执行满足原子性和可串行性,通过记录指令块的长度和提交顺序实现对于共享内存访问交织的记录。该方法使得对共享内存交织的记录能够以指令块为粒度进行处理,从而大大提高了记录效率并且减少了记录日志的大小。




xLearn is developed by high-performance C++ code with careful design and optimizations, and it is 5x-13x faster compared to the similar systems. xLearn does not rely on any troublesome third-party library, and users can just build it easily. Also, xLearn supports very simple Python and R API for data scientists.xLearn supports out-of-core training, which can handle very large data (TB) by just leveraging the disk of a PC. Also, xLearn supports efficient distributed training.