• No results found

A Dynamic Load Balancing Method for Adaptive TLMs in Parallel Simulations of Accuracy

N/A
N/A
Protected

Academic year: 2021

Share "A Dynamic Load Balancing Method for Adaptive TLMs in Parallel Simulations of Accuracy"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

A Dynamic Load Balancing Method for Parallel

Simulation of Accuracy Adaptive TLMs

Rauf Salimi Khaligh, Martin Radetzki

Embedded Systems Engineering Group (ESE) - ITI

Universität Stuttgart, Pfaffenwaldring 47, D-70569 Stuttgart, Germany

{salimi,radetzki}@informatik.uni-stuttgart.de

Abstract—In this paper we present a load balancing method for parallel simulation of accuracy adaptive transaction level models. In contrast to traditional fixed accuracy TLMs, timing accuracy of adaptive TLMs changes during simulation. This makes the computation and synchronization characteristics of the models variable, and practically prohibits the use of static load balancing. To deal with this issue, we present a light-weight load balancing method which takes advantage of, and can be easily incorporated with the simulation time synchronization scheme used in parallel TLM simulation. We have developed a high-performance parallel simulation kernel based on the proposed method, and our experiments using the developed kernel show the effectiveness of the proposed approach in a realistic scenario.

I. INTRODUCTION ANDMOTIVATION

Transaction-level modeling (TLM) (e.g. [1], [2]) is a simulation-centric modelling paradigm for construction of high-level models of complex embedded systems and Sys-tems on Chip (SoCs), and their fast simulation. In TLM the abstraction level is raised above register transfer and signal level, resulting in orders of magnitude faster simulations.

Work in high performance simulation of hardware/software systems (e.g. [3], [4], [5], [6], [7], [8]) has shown that the required level of model accuracy is not fixed during simulation. Modelers are sometimes interested in accurate results only in certain intervals in the simulation time. In such cases, using highly accurate models for the whole simulation negatively affects the simulation performance. Several researchers have addressed this issue by proposing simulation models with

dynamic, adaptive accuracy. During uninteresting intervals,

the accuracy of these models can be reduced to increase the simulation speed and upon reaching the intervals of interest, the accuracy can be increased to the required level. In this manner the unnecessary loss of simulation performance can be avoided. This paper deals with the effect of dynamic accuracy on distribution of load among simulators in parallel simulation of accuracy adaptive TLMs, which to the best of our knowledge has not been addressed so far.

Transaction level models are essentially discrete event mod-els and can theoretically be simulated using classical conser-vative or optimistic parallel discrete event simulation (PDES) schemes [9]. One scheme which is sometimes referred to as

synchronousPDES has been used by some researchers for its

This work has been funded by the German Research Foundation (Deutsche Forschungsgemeinschaft - DFG) under grant Ra 1889/1-1.

simplicity (e.g. [4], [10]) and has provided an acceptable level of performance. To simulate a model in a synchronous PDES framework, the set of components in the model is statically partitioned and each partition is assigned to one instance of a sequential discrete event simulator (SDES). The local times of all SDES instances are synchronized using a conservative scheme. To achieve maximum speedup, components must be partitioned such that the computation at each synchronization step is uniformly balanced among SDES instances. The par-titioning is either based on the modeler’s knowledge of the properties of the models or is based on some form of analysis. Accuracy of components assigned to an SDES instance affects the amount of computation at each synchronization step and hence the partitioning. A partition which results in a significant speedup at one level of accuracy, may not provide the same speedup when the accuracy of the models changes. Therefore, dynamic accuracy effectively prohibits use of static load balancing in parallel simulation of accuracy adaptive TLMs. Traditional dynamic load-balancing schemes such as work sharing and work stealing (e.g. [11]) can indeed be used in this case. However, compared to classical numerically intensive high-performance computing problems, the overhead of such load balancing schemes tends to make them less effective in parallel TLM simulation. As we show in this paper, the simulation time synchronization method of synchronous PDES provides a mechanism for implementation of a simple, low overhead, load distribution and balancing scheme for simulation of accuracy adaptive models.

The rest of this paper is organized as follows. In Section II we present closely related work. Section III discusses the effect of dynamic accuracy and proposes a simple load bal-ancing scheme for synchronous TLM simulation frameworks. In Section IV we present the most important implementation aspects of a high-performance parallel simulation kernel based on the proposed approach. Section V summarizes the results of our experiments and compares the performance of our kernel with related work and Section VI concludes the paper with a summary of results and directions for future work.

II. RELATEDWORK

The core ideas of TLM are not language dependent and different languages have been proposed for TLM. Currently, the most general and the most widely accepted TLM language is SystemC [12]. Standardizing efforts such as the recent OSCI

(2)

TLM standard [2] contribute to the increasing popularity of TLM and enable interoperability between models from differ-ent sources. SystemC is a rather general modeling language with a rich set of features and can be used for modeling at the transaction level, as well as at the signal and regis-ter transfer level. To achieve betregis-ter simulation performance, some researchers have proposed TLM-specific constructs and simulation libraries (e.g. [6]).

The idea of dynamic model accuracy is not specific to TLM and is also followed in other simulation-oriented research projects (e.g. [5], [7], [8]). One way of implementing dynamic accuracy in TLM is having multiple models of the same entity, with varying degrees of accuracy and switching between them at runtime (e.g. [3]). Another approach is incorporating multiple levels of accuracy in a single model, and selecting the level of accuracy at simulation time [4], [6]. In [6] a set of constructs for development of such models is presented.

Availability of low cost parallel processing power has moti-vated an increasing number of groups to work on parallel TLM simulation frameworks. An early parallel SystemC kernel is [13] which is based on the principles of classical conservative PDES. A parallel simulation framework for OSCI TLM-based MPSoC models is presented in [14]. Similarly, in [15] authors present and compare different parallelization techniques of the SystemC kernel. A parallel implementation of the Sys-temC kernel on a general purpose graphical processing unit (GPGPU) is introduced in [16]. Specific characteristics of OSCI TLM-based models are exploited in [17] to increase simulation performance. From the aforementioned, none deals with the effect of dynamic accuracy on parallel simulation. Although the simulation kernel in [6] can be used for parallel simulation, the load distribution between simulators and the number of simulators is static and does not change during simulation.

III. LOADBALANCINGACCURACYADAPTIVETLMS

A. Effect of Accuracy on Speedup

In this paper we focus on accuracy adaptive TLMs con-structed based on the approach presented in [6] which enables incorporation of multiple levels of timing accuracy in a single model. The required level of accuracy can either be selected statically at elaboration time, or dynamically during simula-tion.

Following [6], a transaction level model is a network of communicating components which represent logical or physical entities. The behavior of each component is specified in an imperative, sequential manner. Timing of behaviors is specified using timing annotation macros. Dynamic timing accuracy is supported by enabling hierarchical (i.e. nested) timing annotations. Higher levels of annotation correspond to a high level of abstraction and a low level of timing accuracy. Lower levels of annotation correspond to a lower abstraction

level and higher timing accuracy. During simulation theactive

level of annotation can be changed for each component, changing its timing accuracy and simulation speed. Only macros at the active level are processed by the simulation

kernel and others have no effect. Listing 1 shows a behavior

segment annotated at two levels (the HTA_* macros). The

outer annotation specifies the duration of the loop as a whole, whereas the nested annotation specifies the duration of each iteration hence providing a higher level of timing accuracy at the price of slower simulation.

HTA_BEGIN ( T1 ) ; f o r(i n t i = 0 ; i <n ; i ++) { HTA_BEGIN ( T2 ) ; C ; D ; HTA_END ( ) ; } ; HTA_END ( ) ;

Listing 1. Hierarchical Timing Annotation

We will use a simplified mathematical formulation as a

basis for the following discussions. Let M be the number of

components in a model and θi represent the average timing

granularity of component i. This corresponds to average duration (in simulated time) of annotated behavior segments. It may be argued that the timing granularity of a component can vary greatly during simulation and can not be accurately presented by the average. However, we can assume that the simulation time axis can be divided into intervals in which the timing granularity of models is relatively stable (e.g. steady state operation in stream processing models) and can

be fairly represented by the averageθi. Hence in the following

discussions refer to such an interval.

LetLibe the average physical time required for simulation

of annotated behavior segments in component i. Execution

of each annotated segment by an SDES instance requires a

context switch. Let Oseq be the average time required for a

context switch and the overhead of executing an annotated

segment. Assume that the model is to be simulated for Tsim

simulation time units. The amount of physical time required for sequential simulation of the model will roughly be

Tseq= M i=1 Tsim θi (Li+Oseq). (1)

In parallel simulation using the synchronous scheme men-tioned in Section I, the frequency of synchronization between SDES instances is determined by the smallest timing

gran-ularity θmin = min(θ1, . . . , θM). Synchronization between

SDES instances is a classical barrier synchronization. Each

synchronization step has an overhead that depends on the

num-ber of involved SDES instances. Let N be the number of the

SDES instances and ObarN be the overhead of a single barrier

synchronization between them. Hence, parallel simulation on

N SDES instances has an overhead of

Opar= Tsim

θminO N

bar. (2)

The maximum speedup will be achieved if the

(3)

instances. Assuming a multicore SMP simulation host, and leaving aside cache effects, execution of an annotated behavior segment requires roughly the same amount of CPU time on all SDES instances. Based on these assumptions, in the best case

the parallel simulation of the model on N SDES instances

requires

Tpar =Tseq

N +Opar. (3)

This gives us the following expression for best achievable speedup:

speedupN = N

1 +NOpar Tseq

(4)

Changing the level of timing accuracy of the models

changes the the sequential simulation time Tseq, the timing

granularity θi and hence the achievable speedup using N

simulators. In the worst case, parallel simulation may result in a slow-down.

B. Load Balancing Scheme

The problem of load balancing and load distribution in general parallel processing has been extensively studied in the literature (e.g. [11]). In general, load balancing among

different processors involves migration ofwork unitsbetween

them. In worksharingschemes, a central entity distributes the

work among processors whereas in workstealingschemes the

underutilized processors are responsible for getting the work units from each other. In work sharing, the centralized work distribution entity can become a performance bottleneck. Work units are stored in thread-specific data structures and migration in work stealing may require some form of mutual exclusion and protection of those data structures. The overhead of mutual exclusion can negatively affect the achievable speedup.

In our case load balancing requires migration of components between SDES instances. However, the barrier synchronization points give us the opportunity to perform the migration without any form of protection and additional synchronization. At each synchronization step a single SDES instance is responsible for signaling the others. This SDES instance can perform the load balancing and redistribution before signaling the others. Since load balancing is performed while other SDES instances are not running, no protection and mutual exclusion is required and their overhead can be avoided.

Nevertheless, migration requires manipulation of SDES specific data structures and does incur some overhead. One example is copying event queue entries from one simulator to another. Therefore, load balancing at every synchronization step will have a prohibitively large overhead. To determine when load redistribution should take place, we refer again to equation 4. It can be seen that, for a given number of

simulatorsN, the achievable speedup is limited by the second

term in the denominator, which using equations 1 and 2 can be simplified as NOpar Tseq = ObarN M i=1 θmin θi (Li+Oseq) N =ONbar λ (5)

which gives the following expression for achievable speedup

speedupN = N

1 + ObarN

λ

(6)

For a given simulation host and a given number of SDES

instances N, ONbar can be considered constant. λ can be

interpreted as the average load of the simulators. That is,

the average CPU time spent simulating the behaviors between

two synchronization steps. To have a speed-up usingN SDES

instances, λmust be sufficiently large. And for a givenλ, the

largest N does not necessarily result in the largest speedup.

This observation is the basis of our load balancing scheme which is summarized in the following paragraphs.

For a given simulation host, the relationship between

speedupN and λ and N shown in equation 6 can be

deter-mined by a series of simple tests. For this, simple models with

theoretical speedup limits ofN are simulated in parallel using

N SDES instances, as well as sequentially. For each N the

experiments are repeated for different Li values keeping θi

values constant, hence varyingλin equation 6. Thisprofiling

step needs to be done only once for a simulation host and the resulting information will be used by the simulation kernel for load balancing and distribution.

During simulation of a given model, the actual value of

λ can be measured with low overhead. The overhead can

be further reduced by measuring λ over windows of several

synchronization steps. Based on the measuredλand the

infor-mation from the aforementioned profiling step, load balancing and redistribution decision can be made. For example, the

mea-suredλ, may reveal that the current number of simulatorsN is

actually resulting in a slow-down over sequential simulation. In this case all components can be migrated to a single SDES instance for sequential simulation.

Similarly, the measured λ may reveal that to have better

speedup,N+ 1SDES instances are required. In this case, an

additional SDES instance will be used and the components

will be redistributed over N + 1 instances. In the most

general form, load redistribution can be based on individual

Li values, which can be measured in a manner similar to λ

during simulation. For a large group of models, for examples models of homogenous MPSoCs the load redistribution step is straightforward and requires assigning a similar number of components to each SDES instance.

IV. IMPLEMENTATION

We have implemented a Linux-based parallel TLM simu-lation kernel based on the aforementioned scheme. The C++ based modeling constructs such as the component classes and annotation macros are similar to [6]. However, as mentioned

(4)

previously, in our case load balancing involves migration of components between different SDES instances. It must be noted that the parallel simulation kernel presented in [6] is a multi-process implementation in which each SDES instance runs in a separate operating system process. This prevents im-plementation of any form of load balancing with an acceptable level of performance. Because of this a new multi-threaded kernel was developed from scratch and the concurrency man-agement, synchronization and scheduling mechanisms had to be adapted and developed accordingly.

In our multi-threaded kernel, each SDES instance runs in a single operating system thread and all SDES instances share a global address space in a single operating system process. Because of this, migration of components does not involve costly memory copy operations. Behaviors of components in a model are logical, user-level threads which are suspended and resumed by user-level context switching. Migration of components requires that the behaviors that are suspended in one SDES running on one processor, be resumed in another SDES running on another processor. We evaluated several light-weight concurrency libraries for performance, portability and support for migration between processors. For best results,

we decided to develop a custom high-performancemigratable

behavior library. This library is based on modified versions of the Unix user context management routines [18], but does not require any modifications in the operating system kernel and works with standard linux kernels.

The efficiency of the barrier synchronization scheme has a significant impact on the overall efficiency of parallel

sim-ulation and achievable speedup (Section III, Opar). Initially

we decided to use the standard POSIX barrier implementation [18], which surprisingly delivered very poor performance because of its extensive use of system calls. For this reason,

we developed a barrier based on the classical central

sense-reversingscheme [19]. This barrier needs a single busy waiting loop per synchronizing thread and requires no kernel calls. The performance improvement can be seen in the next Section.

V. EXPERIMENTALRESULTS

All following experiments were performed on a 2.5 GHz Intel Core 2 Quad based machine running 32-bit Linux.

We first evaluated the performance of a single SDES in-stance by simulating models with varying number of com-ponents with very large behavior context switches. The same models were also implemented and simulated using the stan-dard OSCI SystemC SDES and the kernel presented in [6] (Coroutine-based SDES). The new SDES which is based on the aforementioned migratable behavior library has the highest performance, as shown in figure 1.

We then evaluated the effectiveness of synchronous PDES using our new multi-threaded kernel. For this, we simulated

models with theoretical maximum achievable speedup of N

usingN SDES instances, varying the amount of computation

per synchronization (i.e. varying Li for a given θi). The

experiments were performed with two variants of the new PDES kernel, one using the standard POSIX barrier for

0.1 1 10 100

1 10 100

Simulation Time (Seconds)

Number of Behaviors OSCI SystemC SDES

Coroutine-based SDES Our new SDES

Fig. 1. SDES Performance

synchronization and one using our new custom barrier. We also performed the same experiment using the multi-process PDES kernel presented in [6]. Figure 2 summarizes the results

for N = 4. It can be seen that the new PDES kernel with

the custom barrier has the highest performance and achieves speedup even for small computation to synchronization ratios. In the figure, each unit of computation load corresponds to a

computation requiring5μson our simulation host.

1 10

1 10 100

Speed-Up over Sequential Simulation

Computation to Synchronization Ratio

Our new kernel with custom Barrier Multi-process kernel Our new kernel with POSIX Barrier

Fig. 2. PDES Performance on Four Cores

To derive and record the relationship between λ, number

of SDES instancesN and speedup over sequential simulation

(equation 6), a small set of profiling simulations were run on the simulation host as explained in Section III. Figure 3 visualizes the relationship near the break-even point. It can be

seen that for each N, for λ values smaller than a threshold

parallel simulation reduces the simulation speed. In this case, simulation will be made faster by migrating all components to a single SDES and performing sequential simulation.

To evaluate the simulation kernel and the load balancing scheme in a realistic scenario, we developed an accuracy adaptive model of an 8-core MPSoC based on a parallel RGB-CMYK conversion benchmark from the commercial EEMBC Multibench Suite [20]. Each core of the MPSoC was modeled by one component in the model. Each component supported two levels of timing accuracy, and this was achieved by annotating the behavior of the components at two levels of hierarchy. These two levels correspond to timing granularity

(5)

0.5 1 1.5 2 2.5 3

1e-06 2e-06 3e-06 4e-06 5e-06 6e-06 7e-06 8e-06 9e-06 1e-05

Speedup

Lambda N = 4

N = 3 N = 2

Fig. 3. Speedup vs.λfor DifferentNs

at the level of 64-by-64 pixel blocks (accuracy level 0) and at the level of individual pixels (accuracy level 1). Accuracy levels 0 and 1 correspond to the lowest and highest degrees of accuracy, respectively.

We simulated the model for conversion of a large number of picture frames. Initially, all the components of the model were at accuracy level 0. After reaching some frames of interest, for more accurate timing information, the accuracy was increased to level 1. Subsequently, the accuracy was reduced to increase

the simulation speed. Figure 4 shows the value ofλmeasured

during a simulation run using four SDES instances (N = 4)

without any load balancing. In this experimentλwas measured

over windows of size 1000 synchronization steps. The steep

reduction inλin figure 4 corresponds to increase in the level

of accuracy.

1e-07 1e-06 1e-05 0.0001

0 1e+08 2e+08 3e+08 4e+08 5e+08 6e+08 7e+08

Lambda

Simulation Time Units

Fig. 4. Variations ofλDuring Simulation

Comparingλvalues in figures 4 and 3 shows that when the

model is at accuracy level 0, parallel simulation can indeed result in significant speed up. However, when the model is at accuracy level 1, parallel simulation will reduce the simulation speed.

Several experiments were performed to measure the effi-ciency of a simple load balancing scheme. In the experiments, the percentage of the frames processed with the higher level of accuracy was varied. The models were simulated sequentially,

in parallel withN= 4, with and without load balancing. The

results are summarized in figure 5.

Without load balancing, the simulation was always in

par-allel irrespective of the value ofλ. In this case in the intervals

where the model was at accuracy level 0, the simulation was faster than sequential simulation. But in the intervals where the model was at accuracy level 1 the simulation was slower than sequential simulation. The effect of these temporary simulation slow down intervals on the overall simulation speed can be seen in the figure. For example, with as little as 5% of the frames processed at the higher level of accuracy, the fully parallel simulation without load balancing results in an overall slow down compared to sequential simulation.

With load balancing enabled, depending on the value of

λ the kernel either migrated all the model components to a

single SDES instance, or distributed the components between the 4 SDES instances. So at all times, the simulation was either faster than sequential simulation or in the worst case was as fast as sequential simulation. The gain in the overall simulation performance with load balancing can be clearly seen in the figure.

0.1 1 10

1 10 100

Speed-Up over Sequential Simulation

Percentage of Frames Processed at Higher Accuracy With Load Balancing Without Load Balancing

Fig. 5. Speedup with and without Load Balancing

VI. CONCLUSION

In this paper, we have dealt with the problem of load balancing and distribution in parallel simulation of accuracy adaptive TLMs. Even if static partitioning and load balancing can be applied to a given model, changing the accuracy of its components during simulation can violate its partitioning assumptions and can result in a reduction in simulation speed. Hence, some form of dynamic load balancing is inevitable.

We have presented a light-weight approach which can take advantage of, and can be easily integrated with the simula-tion time synchronizasimula-tion mechanism used in parallel TLM simulation. We have derived an index which can be measured with low overhead during simulation. This index, together with the previously measured, simulation host specific parameters can be used to choose the most efficient simulation setup and make load balancing decisions. To be able to perform dynamic load balancing and redistribution, the simulation kernel must have certain features such as support for migratable user-level threads. We have developed such a simulation kernel and compared its performance with existing work. The load balancing scheme and its efficiency have been evaluated in

(6)

a realistic scenario. The presented kernel has been evaluated on general purpose, multi-core SMP workstations. We plan to evaluate the kernel with a more diverse set of models on larger parallel machines with more processors and different architectures (e.g. multi-chip SMPs and SMP clusters).

REFERENCES

[1] F. Ghenassia,Transaction-Level Modeling with SystemC: TLM Concepts and Applications for Embedded Systems. Springer-Verlag Inc., 2006. [2] Transaction Level Modeling Standard 2 (OSCI TLM 2), Open SystemC

Initiative (OSCI) TLM Working Group (www.systemc.org), June 2008. [3] G. Beltrame, D. Sciuto, and C. Silvano, “Multi-Accuracy Power and Performance Transactions-Level Modeling,”IEEE Transactions on Computer-Aided Design Of Integrated Circuits and Systems (TCAD), October 2007.

[4] R. Salimi Khaligh and M. Radetzki, “Adaptive Interconnect Models for Transaction-Level Simulation,”Languages for Embedded Systems and their Applications (LNEE 36), 2009.

[5] M. Rosenblum, S. Herrod, E. Witchel, and A. Gupta, “Complete Computer System Simulation: The SimOS Approach,” IEEE Parallel and Distributed Technology: Systems and Applications, no. 4, December 1995.

[6] R. Salimi Khaligh and M. Radetzki, “Modelling Constructs and Kernel for Parallel Simulation of Accuracy Adaptive TLMs,” inProceedings of the Conference on Design, Automation and Test in Europe (DATE ’10), March 2010.

[7] K. Hines and G. Borriello, “Dynamic Communication Models in Embed-ded System Co-Simulation,” inProceedings of the Design Automation Conference (DAC ’97), June 1997.

[8] C. S. Michael Karner, Eric Armengaud and R. Weiss, “Holistic Sim-ulation of FlexRay Networks by Using Run-Time Model Switching,” in Proceedings of the Conference on Design, Automation and Test in Europe (DATE ’10), March 2010.

[9] R. M. Fujimoto, “Parallel and Distributed Simulation,” inProceedings of the 31st Winter simulation conference (WSC ’99), 1999.

[10] K. Huang, I. Bacivarov, F. Hugelshofer, and L. Thiele, “Scalably Dis-tributed SystemC Simulation for Embedded Applications,” in Proceed-ings of the International Symposium on Industrial Embedded Systems (SIES’2008), June 2008.

[11] R. D. Blumofe and C. E. Leiserson, “Scheduling Multithreaded Com-putations by work Stealing,”J. ACM, vol. 46, no. 5, pp. 720–748, 1999. [12] Standard SystemC Language Reference Manual, Standard 1666-2005,

IEEE Computer Society, March 2006.

[13] B. Chopard, P. Combes, and J. Zory, “A Conservative Approach to SystemC Parallelization,” inProceedings of the International Conference on Computational Science (ICCS 2006), May 2006.

[14] A. Mello, I. Maia, A. Greiner, and F. Pecheux, “Parallel Simulation of SystemC TLM 2.0 Compliant MPSoC on SMP Workstations,” in Proceedings of the Conference on Design, Automation and Test in Europe (DATE ’10), March 2010.

[15] P. Ezudheen, P. Chandran, J. Chandra, B. P. Simon, and D. Ravi, “Parallelizing SystemC Kernel for Fast Hardware Simulation on SMP Machines,” in PADS ’09: Proceedings of the 2009 ACM/IEEE/SCS 23rd Workshop on Principles of Advanced and Distributed Simulation. Washington, DC, USA: IEEE Computer Society, 2009, pp. 80–87. [16] M. Nanjundappa, H. Patel, B. Jose, and S. Shukla, “SCGPSim: A fast

SystemC simulator on GPUs,” inProceedings of IEEE Asia and South Pacific Design Automation Conference (ASPDAC), 2010.

[17] R. Salimi Khaligh and M. Radetzki, “Efficient Parallel Transaction Level Simulation by Exploiting Temporal Decoupling,” in Proceedings of the International Embedded Systems Symposium (IESS ’09), September 2009.

[18] The IEEE and The Open Group,The Open Group Base Specifications Issue 6 – IEEE Std 1003.1, 2004 Edition. New York, NY, USA: IEEE, 2004.

[19] G. S. Almasi and A. Gottlieb,Highly parallel computing. Redwood City, CA, USA: Benjamin-Cummings Publishing Co., Inc., 1989. [20] The Embedded Microprocessor Benchmark Consortium (EEMBC),

“Multicore Benchmark Software (Multibench) 1.0 ,” http://www.eembc. org.

Figure

Fig. 1. SDES Performance
Fig. 4. Variations of λ During Simulation

References

Related documents

Thurston County Strategic Planning Department Reach_Breaks_Marine_051809 Marine reach breaks for SMP update. Thurston

As most of the programs receive a government subsidy, the rent paid by tenants in such subsidised programs is based on their income and most affordable rental housing providers

line ext with oxaliplatin Trials Roferon A Avastin (EU), Xeloda Herceptin, Avastin (EU) Avastin Avastin, Xeloda (mono) Approval P3 Avastin; Xeloda P3 Herceptin+ Avastin

We consider here constraint sets defined by real polynomial functions and we bound the number of singular values for the corresponding perturbed sets.. To tackle this problem,

describe the contributions to losses of the boundary layers over the wetted surfaces (hub, shroud and blade) and in the remaining do- main (the full domain where the subdomains

Of the few recent accounts that do discuss these earlier voyages, Kathleen Paul’s study of this period of migration mentions how the already established black community in

In this nal step we use the (weighted average) border eect estimated for each industry to measure the impact of trade liberalization on productivity across export and import