@article {19298,
	title = {Signal Processing on Platforms with Multiple Cores: Part 2-Applications and Design [From the Guest Editors]},
	journal = {IEEE Signal Processing Magazine},
	volume = {27},
	year = {2010},
	month = {2010},
	pages = {20 - 21},
	abstract = {Platforms with multiple cores are now prevalent everywhere from desktops and graphics processors to laptops and embedded systems. By adding more parallel computational resources while managing power consumption, multicore platforms offer better programmability, performance, and power efficiency. Signal processing systems of tomorrow will be and must be implemented on platforms with multiple cores. Writing efficient parallel applications that utilize the computing capability of many processing cores require some effort. Signal processing algorithm designers must understand the nuances of a multicore computing engine; only then can the tremendous computing power that such platforms provide be harnessed efficiently. To give a thorough perspective of the area, we have organized two special issues on this topic.},
	keywords = {Concurrent computing, Embedded system, Energy management, Graphics, Multicore processing, Portable computers, Resource management, Signal design, Signal processing, Signal processing algorithms},
	isbn = {1053-5888},
	author = {Chen,Y. and Chakrabarti,C. and Bhattacharyya, Shuvra S. and Bougard, B.}
}
@conference {13389,
	title = {Network-Aware Join Processing in Global-Scale Database Federations},
	booktitle = {IEEE 24th International Conference on Data Engineering, 2008. ICDE 2008},
	year = {2008},
	month = {2008/04/07/12},
	pages = {586 - 595},
	publisher = {IEEE},
	organization = {IEEE},
	abstract = {We introduce join scheduling algorithms that employ a balanced network utilization metric to optimize the use of all network paths in a global-scale database federation. This metric allows algorithms to exploit excess capacity in the network, while avoiding narrow, long-haul paths. We give a two- approximate, polynomial-time algorithm for serial (left-deep) join schedules. We also present extensions to this algorithm that explore parallel schedules, reduce resource usage, and define tradeoffs between computation and network utilization. We evaluate these techniques within the SkyQuery federation of Astronomy databases using spatial-join queries submitted by SkyQuery{\textquoteright}s users. Experiments show that our algorithms realize near-optimal network utilization with minor computational overhead.},
	keywords = {Astronomy, Computer networks, Concurrent computing, global-scale database federations, join scheduling algorithms, network utilization, network-aware join processing, parallel schedules, polynomial-time algorithm, Polynomials, Processor scheduling, Query processing, reduce resource usage, Scheduling algorithm, Spatial databases, spatial-join queries, Telecommunication traffic, Throughput},
	isbn = {978-1-4244-1836-7},
	doi = {10.1109/ICDE.2008.4497467},
	author = {Xiaodan Wang and Burns,R. and Terzis,A. and Deshpande, Amol}
}
@conference {12347,
	title = {A Communication Interface for Multiprocessor Signal Processing Systems},
	booktitle = {Proceedings of the 2006 IEEE/ACM/IFIP Workshop on Embedded Systems for Real Time Multimedia},
	year = {2006},
	month = {2006/10//},
	pages = {127 - 132},
	publisher = {IEEE},
	organization = {IEEE},
	abstract = {Parallelization of embedded software is often desirable for power/performance-related considerations for computation-intensive applications that frequently occur in the signal-processing domain. Although hardware support for parallel computation is increasingly available in embedded processing platforms, there is a distinct lack of effective software support. One of the most widely known efforts in support of parallel software is the message passing interface (MPI). However, MPI suffers from several drawbacks with regards to customization to specialized parallel processing contexts, and performance degradation for communication-intensive applications. In this paper, we propose a new interface, the signal passing interface (SPI), that is targeted toward signal processing applications and addresses the limitations of MPI for this important domain of embedded software by integrating relevant properties of MPI and coarse-grain dataflow modeling. SPI is much easier and more intuitive to use, and due to its careful specialization, more performance-efficient for the targeted application domain. We present our preliminary version of SPI, along with experiments using SPI on a practical face detection system that demonstrate the capabilities of SPI},
	keywords = {application program interfaces, Application software, coarse-grain dataflow modeling, Computer applications, Concurrent computing, Context, data flow graphs, Embedded computing, Embedded software, face detection system, Hardware, Message passing, message passing interface, MPI, Multiprocessing systems, multiprocessor signal processing system, PARALLEL PROCESSING, signal passing interface, Signal processing, SPI},
	isbn = {0-7803-9783-5},
	doi = {10.1109/ESTMED.2006.321285},
	author = {Sankalita Saha and Bhattacharyya, Shuvra S. and Wayne Wolf}
}
@conference {17854,
	title = {Model-based OpenMP implementation of a 3D facial pose tracking system},
	booktitle = {2006 International Conference on Parallel Processing Workshops, 2006. ICPP 2006 Workshops},
	year = {2006},
	month = {2006///},
	pages = {8 pp.-73 - 8 pp.-73},
	publisher = {IEEE},
	organization = {IEEE},
	abstract = {Most image processing applications are characterized by computation-intensive operations, and high memory and performance requirements. Parallelized implementation on shared-memory systems offer an attractive solution to this class of applications. However, we cannot thoroughly exploit the advantages of such architectures without proper modeling and analysis of the application. In this paper, we describe our implementation of a 3D facial pose tracking system using the OpenMP platform. Our implementation is based on a design methodology that uses coarse-grain dataflow graphs to model and schedule the application. We present our modeling approach, details of the implementation that we derived based on this modeling approach, and associated performance results. The parallelized implementation achieves significant speedup, and meets or exceeds the target frame rate under various configurations},
	keywords = {3D facial pose tracking system, application modeling, application program interfaces, application scheduling, coarse-grain dataflow graphs, Concurrent computing, data flow graphs, Educational institutions, face recognition, IMAGE PROCESSING, image processing applications, Inference algorithms, Message passing, OpenMP platform, parallel implementation, PARALLEL PROCESSING, parallel programming, Particle tracking, Processor scheduling, SHAPE, shared memory systems, shared-memory systems, Solid modeling, tracking},
	isbn = {0-7695-2637-3},
	doi = {10.1109/ICPPW.2006.55},
	author = {Saha,S. and Chung-Ching Shen and Chia-Jui Hsu and Aggarwal,G. and Veeraraghavan,A. and Sussman, Alan and Bhattacharyya, Shuvra S.}
}
@conference {14793,
	title = {EMPS: an environment for memory performance studies},
	booktitle = {Parallel and Distributed Processing Symposium, 2005. Proceedings. 19th IEEE International},
	year = {2005},
	month = {2005/04//},
	publisher = {IEEE},
	organization = {IEEE},
	abstract = {This paper describes an overview of environment for memory performance studies (EMPS). EMPS is a framework to allow different data gathering and simulation tools to be composed together to predict the performance of parallel programs on a variety of current and future high end computing (HEC) systems. The framework seeks to combine the automated nature of direct execution simulation with the predictive capabilities of performance modeling.},
	keywords = {Application software, cache storage, Computational modeling, Concurrent computing, data gathering, Delay, digital simulation, Economic forecasting, EMP radiation effects, high end computing system, High performance computing, memory architecture, memory performance, Moore{\textquoteright}s Law, PARALLEL PROCESSING, parallel program, Predictive models, simulation tool, Writing},
	isbn = {0-7695-2312-9},
	doi = {10.1109/IPDPS.2005.196},
	author = {Hollingsworth, Jeffrey K and Snavely, A. and Sbaraglia, S. and Ekanadham, K.}
}
@article {14768,
	title = {Resource policing to support fine-grain cycle stealing in networks of workstations},
	journal = {IEEE Transactions on Parallel and Distributed Systems},
	volume = {15},
	year = {2004},
	month = {2004/10//},
	pages = {878 - 892},
	abstract = {We present the design, implementation, and performance evaluation of a suite of resource policing mechanisms that allow guest processes to efficiently and unobtrusively exploit otherwise idle workstation resources. Unlike traditional policies that harvest cycles only from unused machines, we employ fine-grained cycle stealing to exploit resources even from machines that have active users. We developed a suite of kernel extensions that enable these policies to operate without significantly impacting host processes: 1) a new starvation-level CPU priority for guest jobs, 2) a new page replacement policy that imposes hard bounds on physical memory usage by guest processes, and 3) a new I/O scheduling mechanism called rate windows that throttle guest processes{\textquoteright} usage of I/O and network bandwidth. We evaluate both the individual impacts of each mechanism, and their utility for our fine-grain cycle stealing.},
	keywords = {65, Application software, Bandwidth, cluster computing, Computer networks, Computer Society, Concurrent computing, cycle stealing, cycle stealing., grid computing, I/O scheduling, Intelligent networks, Kernel, network bandwidth, networks of workstations, page replacement policy, parallel computing, performance evaluation, Processor scheduling, resource allocation, resource scheduling, starvation-level CPU priority, workstation clusters, workstation resources, Workstations},
	isbn = {1045-9219},
	doi = {10.1109/TPDS.2004.58},
	author = {Ryu, K. D and Hollingsworth, Jeffrey K}
}
@article {17849,
	title = {The virtual microscope},
	journal = {IEEE Transactions on Information Technology in Biomedicine},
	volume = {7},
	year = {2003},
	month = {2003/12//},
	pages = {230 - 248},
	abstract = {We present the design and implementation of the virtual microscope, a software system employing a client/server architecture to provide a realistic emulation of a high power light microscope. The system provides a form of completely digital telepathology, allowing simultaneous access to archived digital slide images by multiple clients. The main problem the system targets is storing and processing the extremely large quantities of data required to represent a collection of slides. The virtual microscope client software runs on the end user{\textquoteright}s PC or workstation, while database software for storing, retrieving and processing the microscope image data runs on a parallel computer or on a set of workstations at one or more potentially remote sites. We have designed and implemented two versions of the data server software. One implementation is a customization of a database system framework that is optimized for a tightly coupled parallel machine with attached local disks. The second implementation is component-based, and has been designed to accommodate access to and processing of data in a distributed, heterogeneous environment. We also have developed caching client software, implemented in Java, to achieve good response time and portability across different computer platforms. The performance results presented show that the Virtual Microscope systems scales well, so that many clients can be adequately serviced by an appropriately configured data server.},
	keywords = {biomedical optical imaging, client software, client/server architecture, Computer architecture, Computer Graphics, computer platforms, Computer simulation, Concurrent computing, configured data server, data server software, database management systems, database software, Database systems, digital slide images, digital telepathology, diseases, emulation, Environment, Equipment Design, Equipment Failure Analysis, high power light microscope, Image databases, Image Enhancement, Image Interpretation, Computer-Assisted, Image retrieval, Information retrieval, Information Storage and Retrieval, java, local disks, microscope image data, Microscopy, multiple clients, optical microscopy, PACS, software, Software design, software system, Software systems, Systems Integration, Telepathology, User-Computer Interface, virtual microscope design, Virtual reality, Workstations},
	isbn = {1089-7771},
	doi = {10.1109/TITB.2004.823952},
	author = {Catalyurek,U. and Beynon,M. D and Chang,Chialin and Kurc, T. and Sussman, Alan and Saltz, J.}
}
@article {14775,
	title = {Exploiting fine-grained idle periods in networks of workstations},
	journal = {IEEE Transactions on Parallel and Distributed Systems},
	volume = {11},
	year = {2000},
	month = {2000/07//},
	pages = {683 - 698},
	abstract = {Studies have shown that for a significant fraction of the time, workstations are idle. In this paper, we present a new scheduling policy called Linger-Longer that exploits the fine-grained availability of workstations to run sequential and parallel jobs. We present a two-level workload characterization study and use it to simulate a cluster of workstations running our new policy. We compare two variations of our policy to two previous policies: Immediate-Eviction and Pause-and-Migrate. Our study shows that the Linger-Longer policy can improve the throughput of foreign jobs on a cluster by 60 percent with only a 0.5 percent slowdown of local jobs. For parallel computing, we show that the Linger-Longer policy outperforms reconfiguration strategies when the processor utilization by the local process is 20 percent or less in both synthetic bulk synchronous and real data-parallel applications},
	keywords = {cluster of workstations, Computer networks, Concurrent computing, Contracts, Delay, fine-grained availability, Intelligent networks, Linger-Longer, networks of workstations, PARALLEL PROCESSING, Predictive models, Processor scheduling, Resumes, scheduling policy, Throughput, workload characterization, workstation clusters, Workstations},
	isbn = {1045-9219},
	doi = {10.1109/71.877793},
	author = {Kyung Dong Ryu and Hollingsworth, Jeffrey K}
}
@article {14770,
	title = {Critical path profiling of message passing and shared-memory programs},
	journal = {IEEE Transactions on Parallel and Distributed Systems},
	volume = {9},
	year = {1998},
	month = {1998/10//},
	pages = {1029 - 1040},
	abstract = {We introduce a runtime, nontrace-based algorithm to compute the critical path profile of the execution of message passing and shared-memory parallel programs. Our algorithm permits starting or stopping the critical path computation during program execution and reporting intermediate values. We also present an online algorithm to compute a variant of critical path, called critical path zeroing, that measures the reduction in application execution time that improving a selected procedure will have. Finally, we present a brief case study to quantify the runtime overhead of our algorithm and to show that online critical path profiling can be used to find program bottlenecks},
	keywords = {Computer Society, Concurrent computing, critical path computation, critical path profile, critical path zeroing, distributed processing, distributed shared memory systems, Instruments, Message passing, Monitoring, online algorithm, online critical path profiling, Parallel algorithms, program bottlenecks, Runtime, runtime nontrace-based algorithm, runtime overhead, shared-memory programs, system monitoring, Time measurement, Yarn},
	isbn = {1045-9219},
	doi = {10.1109/71.730530},
	author = {Hollingsworth, Jeffrey K}
}
@conference {16363,
	title = {Code generation for multiple mappings},
	booktitle = {Frontiers of Massively Parallel Computation, 1995. Proceedings. Frontiers {\textquoteright}95., Fifth Symposium on the},
	year = {1995},
	month = {1995/02/06/9},
	pages = {332 - 341},
	publisher = {IEEE},
	organization = {IEEE},
	abstract = {There has been a great amount of recent work toward unifying iteration reordering transformations. Many of these approaches represent transformations as affine mappings from the original iteration space to a new iteration space. These approaches show a great deal of promise, but they all rely on the ability to generate code that iterates over the points in these new iteration spaces in the appropriate order. This problem has been fairly well-studied in the case where all statements use the same mapping. We have developed an algorithm for the less well-studied case where each statement uses a potentially different mapping. Unlike many other approaches, our algorithm can also generate code from mappings corresponding to loop blocking. We address the important trade-off between reducing control overhead and duplicating code},
	keywords = {code generation, Computer science, Concurrent computing, control overhead, Educational institutions, iteration reordering transformations, Law, Legal factors, loop blocking, multiple mappings, optimisation, optimising compilers, Optimizing compilers, PARALLEL PROCESSING, Performance analysis, program compilers},
	isbn = {0-8186-6965-9},
	doi = {10.1109/FMPC.1995.380437},
	author = {Kelly,W. and Pugh, William and Rosser,E.}
}
@conference {14760,
	title = {Dynamic program instrumentation for scalable performance tools},
	booktitle = {Scalable High-Performance Computing Conference, 1994., Proceedings of the},
	year = {1994},
	month = {1994/05//},
	pages = {841 - 850},
	publisher = {IEEE},
	organization = {IEEE},
	abstract = {Presents a new technique called {\textquoteleft}dynamic instrumentation{\textquoteright} that provides efficient, scalable, yet detailed data collection for large-scale parallel applications. Our approach is unique because it defers inserting any instrumentation until the application is in execution. We can insert or change instrumentation at any time during execution by modifying the application{\textquoteright}s binary image. Only the instrumentation required for the currently selected analysis or visualization is inserted. As a result, our technique collects several orders of magnitude less data than traditional data collection approaches. We have implemented a prototype of our dynamic instrumentation on the CM-5, and present results for several real applications. In addition, we include recommendations to operating system designers, compiler writers, and computer architects about the features necessary to permit efficient monitoring of large-scale parallel systems},
	keywords = {Application software, binary image, compiler writing, Computer architecture, Computer displays, Computerized monitoring, Concurrent computing, data acquisition, data collection, data visualisation, Data visualization, dynamic program instrumentation, efficient monitoring, executing program, Instruments, large-scale parallel applications, Large-scale systems, operating system design, Operating systems, parallel programming, program analysis, program diagnostics, program visualization, Programming profession, Sampling methods, scalable performance tools, software tools},
	isbn = {0-8186-5680-8},
	doi = {10.1109/SHPCC.1994.296728},
	author = {Hollingsworth, Jeffrey K and Miller, B. P and Cargille, J.}
}
@conference {14575,
	title = {Parallel transitive closure computations using topological sort},
	booktitle = {, Proceedings of the First International Conference on Parallel and Distributed Information Systems, 1991},
	year = {1991},
	month = {1991/12/04/6},
	pages = {122 - 129},
	publisher = {IEEE},
	organization = {IEEE},
	abstract = {Deals with parallel transitive closure computations. The sort-based approaches introduced sorts the tuples of the relation into topological order, and the sorted relation is then horizontally partitioned and distributed across several processing nodes of a message passing multiprocessor system. This data partitioning strategy allows the transitive closure computation of the local data fragments to be computed in parallel with no interprocessor communication. The construction of the final result then requires only a small number of joins. Extensive analytical results are included in the paper as well. They show that the proposed techniques leads to a speedup that is essentially linear with the number of processors. Its performance is significantly better than the recently published hashless parallel algorithm},
	keywords = {Computer science, Concurrent computing, data partitioning, Database systems, database theory, deductive databases, File systems, horizontal partitioning, joins, local data fragments, message passing multiprocessor system, Multiprocessing systems, Parallel algorithms, PARALLEL PROCESSING, parallel programming, parallel transitive closure, processing nodes, relation tuples, Relational databases, sorting, topological sort},
	isbn = {0-8186-2295-4},
	doi = {10.1109/PDIS.1991.183079},
	author = {Hua,K. A and Hannenhalli, Sridhar}
}
@conference {12797,
	title = {When is {\textquoteleft}partial{\textquoteright} adequate? A logic-based proof technique using partial specifications},
	booktitle = {Logic in Computer Science, 1990. LICS {\textquoteright}90, Proceedings., Fifth Annual IEEE Symposium on e},
	year = {1990},
	month = {1990/06/04/7},
	pages = {440 - 449},
	publisher = {IEEE},
	organization = {IEEE},
	abstract = {A technique is presented for ascertaining when a (finite-state) partial process specification is adequate, in the sense of being specified enough, for contexts in which it is to be used. The method relies on the automatic generation of a modal formula from the partial specification; if the remainder of the network satisfies this formula, then any process that meets the specification is guaranteed to ensure correct behavior of the overall system. Using the results, the authors develop compositional proof rules for establishing the correctness of networks of parallel processes and illustrate their use with several examples},
	keywords = {Calculus, Carbon capture and storage, compositional proof rules, Computer science, Concurrent computing, Context, correctness, formal specification, logic-based proof technique, modal formula, parallel processes, partial process specification, partial specifications, specification adequacy, State-space methods, Technological innovation},
	isbn = {0-8186-2073-0},
	doi = {10.1109/LICS.1990.113768},
	author = {Cleaveland, Rance and Steffen,B.}
}
@article {16788,
	title = {Timing Requirements for Time-Driven Systems Using Augmented Petri Nets},
	journal = {IEEE Transactions on Software Engineering},
	volume = {SE-9},
	year = {1983},
	month = {1983/09//},
	pages = {603 - 616},
	abstract = {A methodology for the statement of timing requirements is presented for a class of embedded computer systems. The notion of a "time-driven" system is introduced which is formalized using a Petri net model augmented with timing information. Several subclasses of time-driven systems are defined with increasing levels of complexity. By deriving the conditions under which the Petri net model can be proven to be safe in the presence of time, timing requirements for modules in the system can be obtained. Analytical techniques are developed for proving safeness in the presence of time for the net constructions used in the defined subclasses of time-driven systems.},
	keywords = {Application software, Concurrent computing, Control systems, Embedded computing, Embedded system, Helium, Modeling methodology, performance specifications, Petri nets, Power system modeling, Real time systems, real-time systems, Timing, timing requirements},
	isbn = {0098-5589},
	doi = {10.1109/TSE.1983.235261},
	author = {Coolahan,J. E. and Roussopoulos, Nick}
}
