TY - GEN
T1 - Invasive computing in HPC with X10
AU - Bungartz, Hans Joachim
AU - Riesinger, Christoph
AU - Schreiber, Martin
AU - Snelting, Gregor
AU - Zwinkau, Andreas
PY - 2013
Y1 - 2013
N2 - High performance computing with thousands of cores relies on distributed memory due to memory consistency reasons. The resource management on such systems usually relies on static assignment of resources at the start of each application. Such a static scheduling is incapable of starting applications with required resources being used by others since a reduction of resources assigned to applications without stopping them is not possible. This lack of dynamic adaptive scheduling leads to idling resources until the remaining amount of requested resources gets available. Additionally, applications with changing resource requirements lead to idling or less efficiently used resources. The invasive computing paradigm suggests dynamic resource scheduling and applications able to dynamically adapt to changing resource requirements. As a case study, we developed an invasive resource manager as well as a multigrid with dynamically changing resource demands. Such a multigrid has changing scalability behavior during its execution and requires data migration upon reallocation due to distributed memory systems. To counteract the additional complexity introduced by the additional interfaces, e. g. for data migration, we use the X10 programming language for improved programmability. Our results show improved application throughput and the dynamic adaptivity. In addition, we show our extension for the distributed arrays of X10 to support data migration.
AB - High performance computing with thousands of cores relies on distributed memory due to memory consistency reasons. The resource management on such systems usually relies on static assignment of resources at the start of each application. Such a static scheduling is incapable of starting applications with required resources being used by others since a reduction of resources assigned to applications without stopping them is not possible. This lack of dynamic adaptive scheduling leads to idling resources until the remaining amount of requested resources gets available. Additionally, applications with changing resource requirements lead to idling or less efficiently used resources. The invasive computing paradigm suggests dynamic resource scheduling and applications able to dynamically adapt to changing resource requirements. As a case study, we developed an invasive resource manager as well as a multigrid with dynamically changing resource demands. Such a multigrid has changing scalability behavior during its execution and requires data migration upon reallocation due to distributed memory systems. To counteract the additional complexity introduced by the additional interfaces, e. g. for data migration, we use the X10 programming language for improved programmability. Our results show improved application throughput and the dynamic adaptivity. In addition, we show our extension for the distributed arrays of X10 to support data migration.
KW - HPC
KW - Invasive computing
KW - Multigrid
KW - Resource-aware programming
KW - X10 programming language
UR - http://www.scopus.com/inward/record.url?scp=84890573327&partnerID=8YFLogxK
U2 - 10.1145/2481268.2481274
DO - 10.1145/2481268.2481274
M3 - Conference contribution
AN - SCOPUS:84890573327
SN - 9781450321570
T3 - Proceedings of the 3rd ACM SIGPLAN X10 Workshop, X10 2013
SP - 12
EP - 19
BT - Proceedings of the 3rd ACM SIGPLAN X10 Workshop, X10 2013
PB - Association for Computing Machinery
T2 - 3rd ACM SIGPLAN X10 Workshop, X10 2013
Y2 - 20 June 2013 through 20 June 2013
ER -