Dynamic software updates for parallel high-performance applications

被引:6
作者
Kim, Dong Kwan [2 ]
Tilevich, Eli [1 ]
Ribbens, Calvin J. [1 ]
机构
[1] Virginia Tech, Dept Comp Sci, Blacksburg, VA 24061 USA
[2] ETRI, Embedded SW Res Dept, Taejon 305700, South Korea
关键词
dynamic software updates; high-performance applications; binary rewriting; HotSwap; RECONFIGURATION; FRAMEWORK; SUPPORT;
D O I
10.1002/cpe.1663
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Despite using multiple concurrent processors, a typical high-performance parallel application is long-running, taking hours, even days to arrive at a solution. To modify a running high-performance parallel application, the programmer has to stop the computation, change the code, redeploy, and enqueue the updated version to be scheduled to run, thus wasting not only the programmer's time, but also expensive computing resources. To address these inefficiencies, this article describes how dynamic software updates (DSU) can be used to modify a parallel application on the fly, thus saving the programmer's time and using expensive computing resources more productively. The net effect of updating parallel applications dynamically can reduce the total time that elapses between posing a problem and arriving at a solution, otherwise known as time-to-discovery. To explore the benefits of dynamic updates for high performance applications, this article takes a two-pronged approach. First, we describe our experiences of building and evaluating a system for dynamically updating applications running on a parallel cluster. We then review a large body of literature describing the existing state of the art in DSU and point out how this research can be applied to high-performance applications. Our experimental results indicate that DSU have the potential to become a powerful tool in reducing time-to-discovery for high-performance parallel applications. Copyright (C) 2010 John Wiley & Sons, Ltd.
引用
收藏
页码:415 / 434
页数:20
相关论文
共 51 条
[1]  
Alpern B, 2001, OOPSLA 2001 C OBJ OR, P108
[2]  
[Anonymous], 1996, CONCURRENT PROGRAMMI
[3]  
Baker V, 2006, 2006 IEEE INTERNATIONAL CONFERENCE ON MANAGEMENT OF INNOVATION AND TECHNOLOGY, VOLS 1 AND 2, PROCEEDINGS, P1
[4]   Understanding the high-performance-computing community: A software engineer's perspective [J].
Basili, Victor R. ;
Cruzes, Daniela ;
Carver, Jeffrey C. ;
Hochstein, Lorin M. ;
Hollingsworth, Jeffrey K. ;
Zelkowitz, Marvin V. ;
Shull, Forrest .
IEEE SOFTWARE, 2008, 25 (04) :29-36
[5]  
BIALEK RP, 2006, THESIS U COPENHAGEN, P1
[6]  
BIERMAN G, 2008, EUR C OBJ OR PROGR E
[7]  
Binder W., 2007, P 5 INT S PRINC PRAC, DOI [10.1145/1294325.1294344, DOI 10.1145/1294325.1294344]
[8]  
BLOOM T, 1993, SOFTWARE ENG J, V8, P102, DOI 10.1049/sej.1993.0014
[9]  
Bull JM, 2000, CONCURRENCY-PRACT EX, V12, P375, DOI 10.1002/1096-9128(200005)12:6<375::AID-CPE480>3.0.CO
[10]  
2-M