State-of-the-art systems, whether in servers or desktops, provide ample computational and storage resources to allow multiple simultaneously executing potentially parallel applications. However, performance tends to be unpredictable, being a function of algorithmic design, resource allocation choices, and hardware resource limitations.
In this article, we introduce MAPPER, a manager of application performance via parallel efficiency regulation. MAPPER uses a privileged daemon to monitor (using hardware performance counters) and coordinate all participating applications by making two coupled decisions: the degree of parallelism to allow each application to improve system efficiency while guaranteeing quality of service (QoS), and which specific CPU cores to schedule applications on. The QoS metric may be chosen by the application and could be in terms of execution time, throughput, or tail latency, relative to the maximum performance achievable on the machine. We demonstrate that using a normalized parallel efficiency metric allows comparison across and cooperation among applications to guarantee their required QoS. While MAPPER may be used without application or runtime modification, use of a simple interface to communicate application-level knowledge improves MAPPER’s efficacy. Using a QoS guarantee of 85% of the IPC achieved with a fair share of resources on the machine, MAPPER achieves up to 3.3
\( \times \)
speedup relative to unmodified Linux and runtime systems, with an average improvement of 17% in our test cases. At the same time, MAPPER violates QoS for only 2% of the applications (compared to 23% for Linux), while placing much tighter bounds on the worst case. MAPPER relieves hardware bottlenecks via task-to-CPU placement and allocates more CPU contexts to applications that exhibit higher parallel efficiency while guaranteeing QoS, resulting in both individual application performance predictability and overall system efficiency.
Fuzzy C-means is a very widely covered topic in literature. It is a very successful clustering method whose subtle variations are involved in various clustering related applications. Despite its success, it shares a disadvantage with almost all of its contemporary pattern discovery algorithms -computational complexity. With the explosion in multimedia data over the internet and growing storage systems, there is a lot of research done in content based data retrieval. Fuzzy C-means is an integral part of this goal but its innate complexity makes it a strictly offline algorithm. Online pattern discovery is the need of the hour and our paper aims to address this issue without the use of powerful servers for implementing Fuzzy C-Means (FCM). We aim at accelerating the algorithm using Graphical Processing Units (GPUs), which are basically graphic cards common in desktop computers. We aim at restructuring the algorithm in a manner in which maximum data parallelism could be extracted thus utilizing the resources of the GPU to the fullest extent. In this paper we compare the speed of our approach using a NVIDIA Tesla C1060 GPU to that of sequential versions running on an Intel Xeon 2.93 GHz and an Intel Dual Core 2GHz.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.