随着区块链技术应用的普及,联盟链Hyperledger Fabric(简称Fabric)已成为知名区块链开源平台,并得到广泛关注.然而Fabric仍受困于并发事务间冲突问题,冲突发生时会引发大量无效交易上链,导致吞吐量下降,阻碍其发展.对于该问题,现有面向块内冲突的方案缺乏高效的冲突检测和避免方法,同时现有研究往往忽略区块间冲突对吞吐量的不利影响.提出了一种Fabric的优化方案Fabric-HT(fabric with high throughput),从区块内和区块间2方面入手,有效降低事务间并发冲突和提高系统吞吐量.针对区块内事务冲突,提出了一种事务调度机制,根据块内冲突事务集定义了一种高效数据结构——依赖关系链,识别具有“危险结构”的事务并提前中止,合理调度事务和消除冲突;针对区块间事务冲突,将冲突事务检测提前至排序节点完成,建立以“推送-匹配”为核心的冲突事务早期避免机制.在多场景下开展大量实验,结果表明Fabric-HT在吞吐量、事务中止率、事务平均执行时间、无效事务空间占用率等方面均优于对比方案.Fabric-HT吞吐量最高可达Fabric的9.51倍,是最新优化方案FabricSharp的1.18倍;空间利用率上相比FabricSharp提升了14%.此外,Fabric-HT也表现出较好的鲁棒性和抗攻击能力.
随着内存密集型应用的快速发展,应用对单机内存容量的需求日益增大.然而,受到颗粒密度的限制,内存容量的扩展度较低.页交换机制是进行内存扩展的经典技术,该机制通过将较少使用的内存页面暂存在存储设备,以达到扩展内存的目的.过去页交换机制由于慢速磁盘的读写速度限制,无法被广泛应用.近年来,得益于超低延迟固态硬盘(solid state drive, SSD)的快速发展,页交换机制可以利用其低延迟的读写特性,提升页交换效率.然而,在低I/O延迟的情况下,传统页交换机制的I/O栈存在巨大的软件开销.首先对使用超低延迟SSD的Linux页交换机制进行测试与分析,发现现有页交换机制的主要瓶颈在于发送请求时存在队头阻塞问题、I/O合并和调度开销,以及内核返回路径上的中断处理和直接内存回收开销.基于分析结果,提出基于超低延迟SSD的页交换机制***在Linux I/O栈的基础上增加对轮询请求的处理,并降低I/O合并与调度开销,实现轻量级的I/O栈.基于Ultraswap的I/O栈,对内核页交换机制的换入与换出路径进一步优化.通过优化对缺页、直接内存回收的处理,降低页交换机制关键路径上的时间开销.实验结果表明Ultraswap在应用测试场景下相比Linux页交换机制能够提升19%的平均性能;在可使用内存比例为20%的情况下,Ultraswap可达到33%的性能提升.
暂无评论