2008
DOI: 10.1109/ipdps.2008.4536293
|View full text |Cite
|
Sign up to set email alerts
|

Balancing HPC applications through smart allocation of resources in MT processors

Abstract: Abstract-Many studies have shown that load imbalancing causes significant performance degradation in High Performance Computing (HPC) applications. Nowadays, Multi-Threaded (MT 1 ) processors are widely used in HPC for their good performance/energy consumption and performance/cost ratios achieved sharing internal resources, like the instruction window or the physical register. Some of these processors provide the software hardware mechanisms for controlling the allocation of processor's internal resources. In … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
36
0

Year Published

2009
2009
2023
2023

Publication Types

Select...
6
1

Relationship

3
4

Authors

Journals

citations
Cited by 18 publications
(36 citation statements)
references
References 22 publications
0
36
0
Order By: Relevance
“…STM 2 and all the applications are compiled with GCC 4.3.4 with optimization level O3; the results reported for each application are the average of 25 runs. In order to use all hardware priority levels, all tests are performed on a custom version of the Linux 2.6.33 kernel patched with the HMT patch [3]. In all the experiments, Eigenbench and STAMP applications use all the 32 available hardware threads: 16 application threads and 16 auxiliary threads.…”
Section: Resultsmentioning
confidence: 99%
See 2 more Smart Citations
“…STM 2 and all the applications are compiled with GCC 4.3.4 with optimization level O3; the results reported for each application are the average of 25 runs. In order to use all hardware priority levels, all tests are performed on a custom version of the Linux 2.6.33 kernel patched with the HMT patch [3]. In all the experiments, Eigenbench and STAMP applications use all the 32 available hardware threads: 16 application threads and 16 auxiliary threads.…”
Section: Resultsmentioning
confidence: 99%
“…As Table 1 shows, not all hardware thread priority values can be set by applications: user software can only set priority levels 2, 3, 4; the operating system (OS) can set 6 out of 8 levels, from 1 to 6; the Hypervisor can span the whole range of priorities. In order to use all possible levels of priorities, a special Linux 2.6.33 kernel patched with the Hardware Managed Threads priority (HMT) patch [2,3,4] is required. This custom kernel provides two interfaces (a sysfs and a system call) through which the users can set the current hardware thread priority, including the ones that require OS or Hypervisor privilege (the OS issues a special Hypervisor call to set priority 0 and 7).…”
Section: Hardware Resource Partitioningmentioning
confidence: 99%
See 1 more Smart Citation
“…According to the classification in [3], there are two main classes of load imbalance due to causes that become apparent only during the application's execution: (i) Intrinsic load imbalance is caused by characteristics, which are intrinsic to the application, such as the input data. For example, sparse matrix computations heavily depend on the number of non-zero values in the matrix; the convergence time of iterative methods that approximate the solution of a problem may change for different domains of the modeled space.…”
Section: Introductionmentioning
confidence: 99%
“…For example, the OS may decide to run another process (say a kernel daemon) in place of the process running on a CPU. Also, extrinsic load imbalance may be caused by thread contention for processor's shared resources; this may be particularly true in the case of SMT architectures, where threads share and compete for most of the processor's resources [3]. Clearly, there is nothing that the application programmer could do a priori to prevent extrinsic load imbalance.…”
Section: Introductionmentioning
confidence: 99%