epiC: 可扩展的节能的云计算平台
得益于其良好的并行处理和容错特性,目前MapReduce模型在大规模数据处理中得到了广泛应用。然而,与传统数据库系统相比,现有的基于MapReduce的系统在对模式、高级语言以及查询处理优化的支持方面显得不足。如何将现有的数据库系统应用(例如虚拟社区、多用户服务等)拓展到云计算平台成为了一个重要的研究课题。然而,传统数据库因为其设计上的特点并不能直接移植到云平台上。在本项目中,我们设计并实现了epiC这一崭新的系统,用以提供基于云平台的可灵活拓展的数据库系统服务。
epiC项目的设计目标是为大规模计算任务提供灵活可变、能耗敏感、数据密集型的云计算平台。epiC支持两种典型的数据库工作负载:数据密集型分析和联机事务处理。epiC是专为云计算而设计的崭新平台,它的可扩展性保证了该系统可以根据即付即用的方式灵活地增加或减少其计算规模,从而根据用户的不同计算需求提供灵活可变的资源配置。现有的云计算方面的相关工作主要侧重于其计算可拓展性,却忽略了系统的规模和环境经济性。数据中心的总维护开销的很大一部分都用于能源消耗。因此,云计算服务的提供商应该在其部署系统前明智地对其预算做出计划。epiC系统能够监测系统的运行状态,并在必要时重新部署工作,从而在确保计算的能耗敏感性的同时保证其高效性和可靠性。
在epiC系统中,我们试图将传统数据库的运算符(例如连接操作等)进一步分解为更原始的单元操作,并采用与MapReduce类似的运行策略。在这种处理策略下,epiC系统能够在云计算环境下无缝支持OLTP型的工作负载。同时,我们定义了云计算系统的代价模型,用于正确估计系统的能耗及其他相关开销,从而降低的系统的能源消耗。
epiC系统为构建企业级的高效计算系统提供了一系列出类拔萃的特性,包括:
- 可伸缩的拓展性:epiC系统提供了可调整大小的计算能力,允许应用程序根据其实际需要及时增加或减少其计算能力。换句话说,这种即付即用的模型保证了在计算高峰时系统自动调度更多的节点参加运算以保持计算的高效,而当负载较低时系统调度较少的节点参加计算以节省开销。
- 基于能耗敏感的调度:由于作业的位置及对其的调度会显著影响整个系统的性能,对作业的调度不应仅仅在其开始运行时,而是应当贯穿于整个作业运行期间。例如,根据当前的能源消耗信息,系统可以及时将作业重新部署到空闲的节点或是温度较低的服务器上,以减少用于降温的电力消耗。
- 灵活的存储功能:epiC系统允许用户使用高达1TB的的存储空间。新创建的磁盘卷可以关联到任意的epiC节点,并提供类似于本地硬盘的接口和功能。因此,节点之间的数据传输变得简单而高效。
- 自动的负载平衡:epiC系统能够自动将到达的作业任务分布到用户不同的计算节点上。系统的作业监测器能够检测所有节点的运行情况,及时反馈非正常节点的相关信息,并将新到达的作业调度到运行状况良好的节点上执行。
联系我们: epiC Web Team
