Exploring Financial Applications on Many-Core-on-a-Chip Architecture: A First Experiment
Computational requirements for solving models of financial derivatives, for example, the option pricing problems, are huge and demand efficient algorithms and high performance computing capabilities. This demand has been rekindled by the recent developments in the mobile technology making wireless trading a possibility. In this paper, we focus on the development of a Monte-Carlo algorithm on a modern multi-core chip architecture, Cyclops-64 (C64) under development at IBM as the experimental platform for our study in pricing options. The timing results on C64 show that various sets of simulations could be done in a real-time fashion while yielding high performance/price improvement over traditional microprocessors for finance applications.

title: Landing openMP on cyclops-64: an efficient mapping of openMP to a many-core system-on-a-chip
abstract: This paper presents our experience mapping OpenMP parallel programming model to the IBM Cyclops-64 (C64) architecture. The C64 employs a many-core-on-a-chip design that integrates processing logic (160 thread units), embedded memory (5MB) and communication hardware on the same die. Such a unique architecture presents new opportunities for optimization. Specifically, we consider the following three areas: (1) a memory aware runtime library that places frequently used data structures in scratchpad memory; (2) a unique spin lock algorithm for shared memory synchronization based on in-memory atomic instructions and native support for thread level execution; (3) a fast barrier that directly uses C64 hardware support for collective synchronization. All three optimizations together, result in an 80% overhead reduction for language constructs in OpenMP. We believe that such a drastic reduction in the cost of managing parallelism makes OpenMP more amenable for writing parallel programs on the C64 platform.

title: Performance Portability on EARTH: A Case Study across Several Parallel Architectures
abstract: With the rapidly increasing diversity of parallel architectures and the increasing time and labor for developing parallel applications, the performance portability of parallel programs is becoming increasingly important and should be considered when designing parallel execution models, APIs, and runtime system software. This paper analyzes both code portability and performance portability of parallel programs based on the EARTH model $an event-driven fine-grain multi-threaded execution and architecture model. We discuss several design considerations of the EARTH system that contribute to the performance portability of parallel applications. Experiments of four representative benchmarks are conducted on several different parallel architectures, including two clusters listed in the 23rd supercomputer TOP500 list. The results demonstrate that EARTH based programs can achieve robust performance portability across the selected hardware platforms without any code modification or tuning.

title: A bottom-up inference of loss rate
abstract: Loss tomography, as a key component of network tomography, aims to obtain the loss rate of each link in a network by end-to-end measurements. If knowing the loss model of a link, we, in fact, deal with a parametric estimate problem with incomplete data. Maximum likelihood estimates are often used in this situation to identify the unknown parameters in the loss model. Almost all methods proposed so far rely on the iterative approximation to identify the parameters that requires a long execution time. In addition, the parameters identified by those methods may not be the true values of those parameters since the iterative procedure may trap into a local maximum. In this paper, we propose an estimate that is based on the correlation between a link and its sibling brothers to identify the loss rate of the link. The proposed method, instead of using an iterative approach to approximate the maximum, employs a bottom-up approach to identify the loss rates of the links of a network. Comparing to the previous methods, the proposed method is simple and fast because it is an analytical solution.

title: Cluster Queue Structure for Shared-Memory Multiprocessor Systems
abstract: Three basic structures have been proposed to organize the task queues for shared-memory multiprocessor systems: centralized, distributed, and hierarchical. Centralized structures are not suitable for massively parallel systems since the shared queue becomes a bottleneck for frequent enqueuing and dequeuing operations. Distributed structures have load imbalancing problem because of no support for workload sharing between queues. Hierarchical structures intend to combine the advantage of the previous two structures and eliminate their disadvantages. Unfortunately, we find load imbalancing still exists in the hierarchical structure, and has significant impact on system performance, particularly when the workload is heavy and irregular. After identifying the cause of this problem, we propose the use of a clustered structure in place of the hierarchical one. Analyzes and simulations show the proposed structure can provide better load balancing and less contention than the hierarchical one.

title: Fast handover in clustered wireless ATM
abstract: ATM networks can be extended to wireless networks by attaching wireless base stations to ATM networks, which allows mobile users to roam with little restriction. Due to the physical limitation, handovers become unavoidable when mobiles move from one area to another. As ATM networks are connection-oriented, connections have to be rerouted if a mobile device is moving out of its current cell. To have seamless communication, the handover process must be performed with small delay, minimal cell loss and no change in cell sequence. The authors propose an architecture to link ATM network to wireless networks. The proposed architecture is built on a hierarchical structure that groups cells into clusters. Different handover protocols are used, depending on whether a handover is in the same cluster or between clusters. In addition, the protocols take appropriate actions based on the type of communication. The performance of this protocol is superior to existing solutions in terms of speed and resource consumption.