Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Kishore Kumar Pusukuri

dblp:04/9927 · DBLP profile ↗
← Back
6ranked-venue papers
6as first author
0since 2021 · last 2016
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 6 · 6 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
4 papers
Parallel and multicore computing · 64% Memory systems · 21% Processor architecture and microarchitecture · 9%
Software engineering, system software, and programming languages
3 papers
Operating systems · 100%

Topics — the 12 heaviest of 14, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Operating systems › resource management › process management › CPU scheduling
thread scheduling
0.632016
Tumbler: An Effective Load-Balancing Technique for Multi-CPU Multicore Systems · ACM Trans. Archit. Code Optim. 2016
ADAPT: A framework for coscheduling multithreaded programs · ACM Trans. Archit. Code Optim. 2013
Thread Tranquilizer: Dynamically reducing performance variation · ACM Trans. Archit. Code Optim. 2012
Operating systems › resource management
load balancing
0.212016
Tumbler: An Effective Load-Balancing Technique for Multi-CPU Multicore Systems · ACM Trans. Archit. Code Optim. 2016
Memory systems
cache coherence
0.212014
Lock contention aware thread migrations · PPoPP 2014
Memory systems › cache
last-level cache miss
0.212014
Lock contention aware thread migrations · PPoPP 2014
Parallel and multicore computing › synchronization
lock contention
0.212014
Lock contention aware thread migrations · PPoPP 2014
Processor architecture and microarchitecture
multicore design
0.212014
Lock contention aware thread migrations · PPoPP 2014
Parallel and multicore computing › parallel programming runtimes › thread management
thread migration
0.212014
Lock contention aware thread migrations · PPoPP 2014
Parallel and multicore computing › parallel scheduling
thread scheduling
0.212014
Lock contention aware thread migrations · PPoPP 2014
Parallel and multicore computing › transactional memory
contention management
0.212013
ADAPT: A framework for coscheduling multithreaded programs · ACM Trans. Archit. Code Optim. 2013
Parallel and multicore computing › multiprocessor system
multicore resource management
0.212013
ADAPT: A framework for coscheduling multithreaded programs · ACM Trans. Archit. Code Optim. 2013
Cloud and datacenter computing › cluster resource management and scheduling
cluster resource management
0.012013
ADAPT: A framework for coscheduling multithreaded programs · ACM Trans. Archit. Code Optim. 2013
Memory systems › cache
cache behavior
0.012012
Thread Tranquilizer: Dynamically reducing performance variation · ACM Trans. Archit. Code Optim. 2012

Methods — techniques the papers use, named apart from their topics

utilization-variance minimization · 0.5memory allocation policy selection · 0.3adaptive resource usage monitoring · 0.3dynamic memory allocation policy selection · 0.3context-switch monitoring · 0.3thread migration · 0.2
YearPublicationVenuePosition
2016 Tumbler: An Effective Load-Balancing Technique for Multi-CPU Multicore Systems
abstract
Schedulers used by modern OSs (e.g., Oracle Solaris 11™ and GNU/Linux) balance load by balancing the number of threads in run queues of different cores. While this approach is effective for a single CPU multicore system, we show that it can lead to a significant load imbalance across CPUs of a multi-CPU multicore system. Because different threads of a multithreaded application often exhibit different levels of CPU utilization, load cannot be measured in terms of the number of threads alone. We propose Tumbler that migrates the threads of a multithreaded program across multiple CPUs to balance the load across the CPUs. While Tumbler distributes the threads equally across the CPUs, its assignment of threads to CPUs is aimed at minimizing the variation in utilization of different CPUs to achieve load balance. We evaluated Tumbler using a wide variety of 35 multithreaded applications, and our experimental results show that Tumbler outperforms both Oracle Solaris 11™ and GNU/Linux.
Kishore Kumar Pusukuri, Rajiv Gupta 0001, Laxmi N. Bhuyan
ACM Trans. Archit. Code Optim.1
2014 Shuffling: a framework for lock contention aware thread scheduling for multicore multiprocessor systems
abstract
On a cache-coherent multicore multiprocessor system, the performance of a multithreaded application with high lock contention is very sensitive to the distribution of application threads across multiple processors (or Sockets). This is because the distribution of threads impacts the frequency of lock transfers between Sockets, which in turn impacts the frequency of last-level cache (LLC) misses that lie on the critical path of execution. Since the latency of a LLC miss is high, an increase of LLC misses on the critical path increases both lock acquisition latency and critical section processing time. However, thread schedulers for operating systems, such as Solaris and Linux, are oblivious of the lock contention among multiple threads belonging to an application and therefore fail to deliver high performance for multithreaded applications.
Kishore Kumar Pusukuri, Rajiv Gupta 0001, Laxmi N. Bhuyan
PACT1
2014 Lock contention aware thread migrations
abstract
On a cache-coherent multicore multiprocessor system, the performance of a multithreaded application with high lock contention is very sensitive to the distribution of application threads across multiple processors. This is because the distribution of threads impacts the frequency of lock transfers between processors, which in turn impacts the frequency of last-level cache (LLC) misses that lie on the critical path of execution. Inappropriate distribution of threads across processors increases LLC misses in the critical path and significantly degrades performance of multithreaded programs. To alleviate the above problem, this paper overviews a thread migration technique, which migrates threads of a multithreaded program across multicore processors so that threads seeking locks are more likely to find the locks on the same processor.
Kishore Kumar Pusukuri, Rajiv Gupta 0001, Laxmi N. Bhuyan
PPoPP1
2013 ADAPT: A framework for coscheduling multithreaded programs
abstract
Since multicore systems offer greater performance via parallelism, future computing is progressing towards use of multicore machines with large number of cores. However, the performance of emerging multithreaded programs often does not scale to fully utilize the available cores. Therefore, simultaneously running multiple multithreaded applications becomes inevitable to fully exploit the computing potential of such machines. However, maximizing the performance and throughput on multicore machines in the presence of multiple multithreaded programs is a challenge for the OS. We have observed that the state-of-the-art contention management algorithms fail to effectively coschedule multithreaded programs on multicore machines. To address the above challenge, we present ADAPT, a scheduling framework that continuously monitors the resource usage of multithreaded programs and adaptively coschedules them such that they interfere with each other's performance as little as possible. In addition, ADAPT selects appropriate memory allocation and scheduling policies according to the workload characteristics. We have implemented ADAPT on a 64-core Supermicro server running Solaris 11 and evaluated it using 26 multithreaded programs including the TATP database application, SPECjbb2005, and programs from Phoenix, PARSEC, and SPEC OMP suites. The experimental results show that ADAPT substantially improves total turnaround time and system utilization relative to the default Solaris 11 scheduler.
Kishore Kumar Pusukuri, Rajiv Gupta 0001, Laxmi N. Bhuyan
ACM Trans. Archit. Code Optim.1
2012 Thread Tranquilizer: Dynamically reducing performance variation
abstract
To realize the performance potential of multicore systems, we must effectively manage the interactions between memory reference behavior and the operating system policies for thread scheduling and migration decisions. We observe that these interactions lead to significant variations in the performance of a given application, from one execution to the next, even when the program input remains unchanged and no other applications are being run on the system. Our experiments with multithreaded programs, including the TATP database application, SPECjbb2005, and a subset of PARSEC and SPEC OMP programs, on a 24-core Dell PowerEdge R905 server running OpenSolaris confirms the above observation. In this work we develop Thread Tranquilizer, an automatic technique for simultaneously reducing performance variation and improving performance by dynamically choosing appropriate memory allocation and process scheduling policies. Thread Tranquilizer uses simple utilities available on modern Operating Systems for monitoring cache misses and thread context-switches and then utilizes the collected information to dynamically select appropriate memory allocation and scheduling policies. In our experiments, Thread Tranquilizer yields up to 98% (average 68%) reduction in performance variation and up to 43% (average 15%) improvement in performance over default policies of OpenSolaris. We also demonstrate that Thread Tranquilizer simultaneously reduces performance variation and improves performance of the programs on Linux. Thread Tranquilizer is easy to use as it does not require any changes to the application source code or the OS kernel.
Kishore Kumar Pusukuri, Rajiv Gupta 0001, Laxmi N. Bhuyan
ACM Trans. Archit. Code Optim.1
2011 No More Backstabbing... A Faithful Scheduling Policy for Multithreaded Programs
abstract
Efficient contention management is the key to achieving scalable performance for multithreaded applications running on multicore systems. However, contention management policies provided by modern operating systems increase context-switches and lead to performance degradation for multithreaded applications under high loads. Moreover, this problem is exacerbated by the interaction between contention management policies and OS scheduling polices. Time Share (TS) is the default scheduling policy in a modern OS such as Open Solaris and with TS policy, priorities of threads change very frequently for balancing load and providing fairness in scheduling. Due to the frequent ping-ponging of priorities, threads of an application are often preempted by the threads of the same application. This increases the frequency of involuntary context-switches as wells as lock-holder thread preemptions and leads to poor performance. This problem becomes very serious under high loads. To alleviate this problem, in this paper, we present a scheduling policy called Faithful Scheduling (FF), which dramatically reduces context-switches as well as lock-holder thread preemptions. We implemented FF on a 24-core Dell Power Edge R905 server running OpenSolaris.2009.06 and evaluated it using 22 programs including the TATP database application, SPECjbb2005, programs from PARSEC, SPEC OMP, and some micro benchmarks. The experimental results show that FF policy achieves high performance for both lightly and heavily loaded systems. Moreover it does not require any changes to the application source code or the OS kernel.
Kishore Kumar Pusukuri, Rajiv Gupta 0001, Laxmi N. Bhuyan
PACT1