Hierarchical Agent Monitored Parallel On-Chip System: A Novel Design Paradigm and its Formal Specification

Hierarchical Agent Monitored Parallel On-Chip System: A Novel Design Paradigm and its Formal Specification

Liang Guang (University of Turku, Finland), Juha Plosila (University of Turku, Finland), Jouni Isoaho (University of Turku, Finland) and Hannu Tenhunen (University of Turku, Finland)
DOI: 10.4018/978-1-4666-0912-9.ch015
OnDemand PDF Download:
No Current Special Offers


In this paper, the authors present a formal specification of a novel design paradigm, hierarchical agent monitored SoCs (HAMSOC). The paradigm motivates dynamic monitoring in a hierarchical and distributed manner, with adaptive agents embedded for local and global operations. Formal methods are of essential importance to the development of such a novel and complex platform. As the initial effort, functional specification is indispensable to the non-ambiguous system modeling before potential property verification. The formal specification defines the manner by which the system can be constructed with hierarchical components and the representation of run-time information in modeling entities and every type of the monitoring operations. The syntax follows the standard set theory with additional glossary and notations introduced to facilitate practical SoC design process. A case study of hierarchical monitoring for power management in NoC (Network-on-chip), written with the formal specification, is demonstrated.
Chapter Preview


Parallel many-core SoC has become a mainstream general-purpose computing platform enabled by the constant shrinking of the transistor size. Tilera processor (Bell et al., 2008) has 64 cores fabricated in 90nm technology, and TeraFLOPS (Vangal et al., 2008) has 80 cores in 65nm technology. The parallelization is expected to continue in the foreseeable future with 1000-core multiprocessors emerging soon (Asanovic et al., 2006).

Run-time monitoring has been acknowledged as an effective approach to achieve desirable features in embedded systems, including reliability, dependability and power efficiency. The approach is motivated by the “always-optimal” design paradigm (Rabaey, 2007), where the system is fine-tuned at the run-time towards optimal performance. Dynamic monitoring is effective in dealing with the increasing influence of PVT (process, voltage and thermal) variations in deep-submicron VLSI systems (Borkar et al., 2003). The variations and corresponding unpredictable behaviors affect the timing analysis, increase the fault rate, and require design considerations for each component and at each architectural level (Borkar et al., 2003; Karnik, De, & Borkar 2004). Run-time execution of a massively parallel platform can deviate significantly from static analysis. As a result, methods for dynamic monitoring of various parameters, such as power and temperature in SoC platforms (Isci, Buyuktosunoglu, Cher, Bose, & Martonosi, 2006; Brooks & Martonosi, 2001), have been proposed.

Embedding multiple agents into distributed system is an effective method to provide dynamic monitoring services (Chen, 1998; Parunak, 1998; Naji, Wells, & Etzkorn, 2004). Generally speaking, agents are autonomic and intelligent components in charge of system control responsibilities, while their exact definitions differ in various contexts. Agent-based intelligence integration is considered particularly useful in an unpredictable and highly dynamic system, such as a mobile computing platform (Chen, 1998). The behaviors of either an individual agent or a community of multiple agents have been studied (Parunak, 1998). The integration of agent intelligence can also be realized in programming (Shoham, 1993), where the behaviors of agents are specified by programmers into the source code.

Agent-based design of monitoring services can be innovatively applied to parallel embedded or on-chip systems (Naji et al., 2004), when the parallelization of on-chip components results in the complexity comparable to that of large-scale platforms. A multiple-agent-based system allows for decentralized and hierarchical control policies. Centralized controllers are common in single-core or few-core systems, while being inefficient in highly parallel platforms. Local monitoring is delayed by global communication, and the central monitor is burdened with an overwhelming amount of responsibilities taking care of all resources. Decentralized control promotes adaptive distributed computing so that each part of the system can be quickly configured. For instance, distributed thermal hotspot prevention techniques in multi-core architectures are proposed in Sartori and Kumar (2009). Hierarchical monitoring, as a further development to decentralized control (Wang & Cao, 2003), gives higher priorities to upper level monitoring operations, so that the global optimization is prioritized over local performance. In ElastIC processor (Sylvester, Blaauw, & Karl, 2006) for instance, every processing element is equipped with self-adjustment capability with a centralized diagnostic and adaptivity processing (DAP) unit in responsible of global tracking and configuring functions. In terms of the implementation methods, agents can be realized in both software and hardware manners. For instance, reconfigurable hardware can be utilized to implement dynamic agent functions (Naji, Wells, & Aborizka, 2002; Naji et al., 2004).

Complete Chapter List

Search this Book: