Thomas Gross
Loading...
155 results
Search Results
Publications 1 - 10 of 155
- Online optimizations driven by hardware performance monitoringItem type: Conference Paper
SIGPLAN notices ~ Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design & Implementation / PLDI'07, San Diego, California, USA, June 10-13, 2007Payer, Mathias; Schneider, Florian T.; Gross, Thomas (2007) - Verifying Multi-Object Invariants with RelationshipsItem type: Conference Paper
Lecture Notes in Computer Science ~ ECOOP 2011 - Object-Oriented Programming : 25th European Conference : proceedingsBalzer, Stephanie; Gross, Thomas (2011) - Thread Safety through Partitions and Effect AgreementsItem type: Conference Paper
Lecture Notes in Computer Science ~ Languages and compilers for parallel computingMatsakis, Nicholas D.; Gross, Thomas (2008) - WXCP: Explicit congestion control for wireless multi-hop networksItem type: Conference Paper
Lecture Notes in Computer Science ~ Quality of service - IWQoS 2005 : 13th international workshop : proceedings / IWQoS 2005 Passau, Germany, June 21-23, 2005Su, Yang; Gross, Thomas (2005) - Load-balancing for load-imbalanced fine-grained linear pipelinesItem type: Journal Article
Parallel ComputingMastoras, Aristeidis; Gross, Thomas (2019)Pipelining is a well-known technique to overlap loop iterations by partitioning the loop body into a sequence of stages. A large class of programs can be expressed as linear pipelines if data dependences only flow from earlier to later stages. Various pipelining techniques have been explored but reconciling load-balancing and efficient execution is still a challenge for two main reasons. First, partitioning of the loop body into stages that lead to load-balancing may depend on the data set as well as system properties, e.g., number of cores. Second, the configuration of the runtime system is far from obvious. In this article, we present Pipelight, a technique that achieves load-balancing for linear pipelines. Pipelight relies on a way of mapping stages onto threads that simplifies partitioning and enables the design of a lightweight algorithm for dynamic scheduling. Furthermore, Pipelight introduces a concurrent data structure that exploits the properties of data dependences presented in linear pipelines to provide efficient communication and synchronization. This data structure simplifies the configuration of the runtime system and makes Pipelight a practical solution. The evaluation on a 44-core system shows the efficiency of Pipelight for a set of programs selected from widely-used collections. Although Pipelight simplifies parallelization of linear pipelines, it performs similarly to the most efficient properly configured state-of-the-art technique. The price paid for the benefits of Pipelight is additional overhead for fine-grained loops. However, this overhead can be amortized successfully with chunking. To make Pipelight a promising solution, we propose a directive-based transformation for Pipelight, which is developed in a prototype source-to-source compiler. Consequently, Pipelight is an efficient and practical solution to achieve load-balancing for fine-grained linear pipelines. - Unifying fixed code and fixed data mapping of load-imbalanced pipelined loopsItem type: Conference Paper
Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '16)Mastoras, Aristeidis; Gross, Thomas (2016) - Revision classes for explicit versioningItem type: Conference Paper
Proceedings of the Workshop on AOP and Meta-Data for Software Evolution : 2009, Genova, Italy July 07Previtali, Susanne Cech; Schäuble, Michele; Gross, Thomas (2009) - Pervasive Parallelism for Managed RuntimesItem type: Conference PaperNoll, Albert; Gross, Thomas (2011)
- Content-Aware Compression using Saliency-Driven Image RetargetingItem type: Conference Paper
2013 IEEE International Conference on Image Processing (ICIP 2013)Zünd, Fabio; Pritch, Yael; Sorkine-Hornung, Alexander; et al. (2013) - Lightweight Memory TracingItem type: Conference Paper
Proceedings of USENIX ATC`13 : 2013 USENIX Annual Technical ConferencePayer, Mathias; Kravina, Enrico; Gross, Thomas (2013)
Publications 1 - 10 of 155