JokerCch 2015-03-05
AWS对于大规模计算方案是很受欢迎的,如科学计算,模拟和研究项目。这些方案包括从科研设备,测量设备,或其他计算作业的大量数据集的采集。采集后,使用大规模计算作业的分析来生成最终数据集。通常,这些结果将提供给更多的受众。
1. 为了将大数据集上传到AWS,关键是拥有最多的可用带宽。 通过多客户端的并行处理,就可以把数据上传到S3, 每个客户端采用多线程技术实现并行上传或上传多部分以便进一步并行处理。像窗口调整和确认选择等TCP设置是可以调整的,以便进一步增强吞吐量。 通过适当的优化,一天上传几TB是可能的。另一种上传大数据集的方法是Amazon Import/Export功能, 这一功能支持将存储设备发送给AWS同时直接插入到Amazon S3 或者 Amazon EBS。
2. 大规模作业的并行处理是关键,现存的并行处理应用能够运行在多个EC2 实例上. 如果应用程序需要一个POSIX风格的文件系统,那么无论是直接使用HTTP或使用FUSE层(例如,S3FS或SubCloud),并行应用程序对所有节点都可以从S3高效地读取和写入数据。
3. 一旦计算完成,结果数据也被存储到S3, EC2 实例可以被关闭,并且将结果数据集就可被下载了,或者通过授予读取权限来指定用户,指定所有人或使用有限时间的URL,完成输出数据与他人的共享。
4. 如果不用 S3, 也可以使用 Amazon EBS保存输入数据,作为临时存储区,或者获得输出结果。 在上传期间,要同样采用并行流上传和TCP调整的技术。另外,还可以使用UDP使上传加速。结果数据集可以被写入EBS卷,时间快照可采取共享卷的方式。