Donny Kurniawan

Learn More
We describe the Nimrod/O distributed optimization tool and its application to a problem in mechanical design. The problem is to determine the shape for a hole in a thin plate under load that gives optimal life in the presence of flaws. The experiment reveals two distinct design strategies for optimizing this life. Nimrod/O is able to find both of these(More)
Programming languages have advanced tremendously over the years, but program debuggers have hardly changed. Sequential debuggers do little more than allow a user to control the flow of a program and examine its state. Parallel ones support the same operations on multiple processes, which are adequate with a small number of processors, but become unwieldy(More)
Debugging parallel programs is an order of magnitude more complex than sequential ones, and yet, most parallel debuggers provide little extra functionality than their sequential counterparts. This problem becomes more serious as computational codes become more complex, involving larger data structures, and as the machines become larger. Peta-scale machines(More)
Grid computing allows the utilization of vast computational resources for solving complex scientific and engineering problems. However, development tools for grid applications are not as mature as their traditional counterparts, especially in the area of debugging and testing. Debugging grid applications typically requires a programmer to address(More)
With the proliferation of Grid computing, potentially vast computational resources are available for solving complex problems in science and engineering. However, writing, deploying, and testing e-Science applications over highly heterogeneous and distributed infrastructure are complex and error prone. Further complicating matters, programmers may need to(More)
With the proliferation of grid computing, a large number of computational resources are available for solving complex scientific and engineering problems. Nevertheless, it is non-trivial to write, deploy, and test grid applications over heterogeneous and distributed resources. Further complicating matters, programmers may need to manually manage variations(More)
Grid computing enables the aggregation of a large number of computational resources for solving complex scientific and engineering problems. However, writing, deploying, and testing grid applications over highly heterogeneous and distributed infrastructure are complex and error prone. A number of grid integrated development environments (IDEs) have been(More)
This paper discusses the use of “relative debugging” as a technique for locating errors in a program that has been ported or developed using evolutionary software engineering techniques. It works on the premise that it is possible to find errors by comparing the contents of key data structures at run time between a “working” version and the new code.(More)