Applying case-based reasoning in the evolution of deforestation patterns in the Brazilian Amazonia Patterns of deforestation in Brazilian Amazonia are often associated with different actors, their economic activities and their land use and land cover change strategies. These patterns are often analyzed as static landscape objects, they are not treated as objects evolving along the time. This paper proposes to apply the CaseBased Reasoning (CBR) technique to establish rules and detect object deforestation evolution in an Amazonia region. The objects were analyzed in a sequence of images from different periods creating the base and rules to apply CBR. The application of CBR can help the specialist to understand how different landscape objects evolve, to establish object trajectories and to represent that evolution. The use of natural resources in an indiscriminate way is causing negative effects all over the world to the ecosystems. Among the ecosystems disturbs or the human action destruction stands out the tropical forests, which shelter at least the half of the vegetable and animal species existent of the planet [21] . The tropical forests are important to stock carbon and provide habitats for several animal and vegetables species [7] . However, they are constantly under threat, mainly because of the dynamic use of the land [17] . The destruction of the tropical forests or its fragmentation are decisive processes so the species are extinguished (diversity loss) or if they turn more vulnerable to extinction [13] . After the fragmentation, the atmosphere is altered in its microclimate, environmental diversity, the community's dynamics, and diversity of species and in the original plenty of their population, which they can increase, decrease or destroy that place [14] .. Recent research of deforestation evolution is important because of the need to know and control the risk areas. It would be more efficient if it was possible to suggest how could be the progress of deforestation in certain regions based on its initial pattern behavior.. A way to detect and to survey the change patterns in the biodiversity, provoked by human actions, is the use of remote sensing. The remote sensing is a useful tool to survey the covering of the tropical forest in the Earth surface because of the large volume and quality of images acquired everyday by a constellation of satellites [9] . The deforestation mapping and surveying, and the analysis of patterns in tropical forest could suggest political and local actions for the forest maintenance [2, 8, 18, 20, 22, 23, 27] . The monitoring of the forest and land use and land cover changes needs historical analyzes and they usually use satellite images or aerial pictures [17] .. A series of succeeded studies exist, in trying of finding and defining deforestation patterns, using remote sensing tropical forests. Zipperer (1993) identifies five deforestation patterns (internal, identation, cropping, removal and fragmentation), in the state of Maryland, and it evaluates as the different patterns affect the forest through the analysis of land use change [26] . Casey and Caviglia (2000) propose the maintainable agriculture to try to minimize the deforestation in tropical forests. They trying to identify equalities in the form of land use for agriculture in Campeche, Mexico and in Rondônia, Brazil [4] . Linkie (2004) maps and analyzes forest loss in areas of the National Park of Kerinci in Sumatra with the goal of identifying more vulnerable areas to the deforestation. Spatiotemporal analysis in a sequence of images identifies the areas and taxes of deforestation for period. He tries to identify patterns through deforested areas near roads and rivers [19] . Chowdhury (2006) tries to quantify and to analyze the changes that occur in the landscape in Calakmul Biosphere Reserves in Mexico. The study evaluates biophysical variables, socioeconomic context and institutional causes that influence the deforestation in the area. The idea is to identify a behavior pattern that defines how the deforestation pattern is in the region [5] .. In Amazonia, the main processes of land cover change are linked mainly to rural producers involved with agriculture, cattle ranching, mining and logging activities and their different Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. strategies for land use [3] . The human occupation forms in areas of expansion of agricultural border are associated to different processes of land use and land cover changes. Escada (2003) defined a typology of land use and land cover patterns for the Center-north area of Rondônia in Amazonia [6] . This typology forms a synthesis of the main processes associated to the different categories of rural properties established in the region and the different occupation forms. Different actors involved in the change of the land use (small farmers, farmers, cattle breeders) can be distinguished by their different land use patterns [17] . These patterns evolve in time; new small settlements can emerge and large farms increase their agricultural area at the expense of the forest [24] . Silva (2005) treats the problem of detection of land use change patterns starting from the establishment of a land use and land cover typology and using methods for extraction of semantic information in satellite images and data mining techniques [24] . A structural classifier was used linking the specialist knowledge to patterns detected in the images [24] . One of the limitations of this approach is that the pattern is classified for a specific date representing a new object characterized as a new occupation. Using this approach once the object is classified it doesn't change anymore a significant part of the information of deforestation pattern such as its previous history, important to understand the evolution of land use change pattern is lost.. The goal of this paper is to extend the method proposed by Silva (2005) to identify cases and define how deforestation objects evolve in a rural settlement in Rondônia using of Case-Based Reasoning (CBR) technique. We presented a brief revision about CBR technique and its applications in section 2. In section 3 we showed the model of cases created. In the section 4 we presented CBR proposed under development. Section 5 presents the conclusion. This paper proposes a CBR, still in development, to aid the specialist to analyze deforestation patterns evolution in Brazilian Amazonia. CBR will interact with an already existent structural classifier that classifies deforestation patterns agree with a land use and land cover established typology. Starting from the classified images the new case is created (problem) and the database cases is researched in search of cases previous with similar description the current situation. The group of first cases created needs to be improved, and despite of the base to be updated with new cases, studies continue to be accomplished for the search of the best representation of the reality. The cases can be exported so their rules are applied in new systems with the goal of preserving and to present the history of evolving objects. We suggested applying CBR in different agrarian settlements projects to validate the cases.

O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O


On Proper Secrets, (t, k)-Bases and Linear Codes This paper contains three parts where each part triggered and motivated the subsequent one. In the first part (Proper Secrets) we study the Shamir's "k-out-of-n" threshold secret sharing scheme. In that scheme, the dealer generates a random polynomial of degree k − 1 whose free coefficient is the secret and the private shares are point values of that polynomial. We show that the secret may, equivalently, be chosen as any other point value of the polynomial (including the point at infinity), but, on the other hand, setting the secret to be any other linear combination of the polynomial coefficients may result in an imperfect scheme. In the second part ((t, k)-Bases) we define, for every pair of integers t and k such that 1 ≤ t ≤ k − 1, the concepts of (t, k)-spanning sets, (t, k)-independent sets and (t, k)-bases as generalizations of the usual concepts of spanning sets, independent sets and bases in a finite-dimensional vector space. We study the relations between those notions and derive upper and lower bounds for the size of such sets. In the third part (Linear Codes) we show the relations between those notions and linear codes. Our main notion of a (t, k)-base bridges between two well-known structures: (1, k)-bases are just projective geometries, while (k − 1, k)-bases correspond to maximal MDS-codes. We show how the properties of (t, k)-independence and (t, k)-spanning relate to the notions of minimum distance and covering radius of linear codes and how our results regarding the size of such sets relate to known bounds in coding theory. We conclude by comparing between the notions that we introduce here and some well known objects from projective geometry. In his seminal work on secret sharing, [28] , Shamir introduced the concept of threshold secret sharing. Given a set U = {u 1 , . . . , u n } of n participants, he showed how to share a secret S among those participants by giving each one of them a share, such that two properties hold:. • Correctness. Any subset of k shares may be used to recover the secret unequivocally.. • Perfect Security. Any subset of k − 1 shares reveals no information about the secret.. In his scheme, the secret and the shares all take values in a finite field F q whose size is at least n + 1. The dealer generates a random polynomial of degree k − 1 over that field, P (x) = and Gilbert-Varshamov bounds for linear codes.. In Section 4 we discuss the relation of our notions of (t, k)-independence and (t, k)-bases to well-known structures in projective geometry. Finally we conclude in Section 5, where we propose some interesting open problems.

O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O


Summarization scheme based on near-duplicate analysis This paper presents our approach to select relevant sequences from raw videos in order to generate summaries to Trecvid 2008 BBC Rush Task. Our system is composed of two major steps: First, the system detects "semantic" shot boundaries and keeps only non-redundant shots; then, the system estimates average motion for each shot, as a criterion of amount of information, to better share out the duration of the summary between remaining shots. The first step is based on a fast near-duplicate retrieval using Locality Sensitive Hashing (LSH) which provides results in few seconds (if we do not take into account decoding and encoding processes). The evaluation of Trecvid shows very promising results, since we ranked 17 th over 43 runs, regarding redundancy measure (RE), and 18 th for object and event inclusion (IN). These balanced results (most of best teams for the first criterion are among the latest for the second one) show that our method offers a quite good trade-off between false negatives (IN) and false positives (RE). This paper describes in detail our system producing summaries for Trecvid 2008 BBC Rush task. The aim of this task is to automatically generate mpeg-1 summary clips of 2% of the original duration of raw videos. These videos are coming directly from movie production without any postproduction process. In order to achieve this objective, the Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. system must remove as many repetitive shots as possible while preserving the most significant shots. Resulting summaries must be pleasant to see and contain most relevant parts or events of the videos. Frame clustering is one of the early approaches to address video summarization task [6, 9, 7, 8] . Following this direction, many other methods have been recently proposed: in [11] , Truong et al. proposed a method of hierarchical shot clustering based on hierarchical Sift description of each frame. This approach intends to avoid complex implementation in terms of concept detection and excerpt assembly (i.e, no picture-in-picture, split screen and special transitions). In [3] , Chen et al. use clustering to remove redundant shots and the shot segmentation is based on kernel correlation of pairwise inter-frame similarity features (color and motion). In our method, we try to combine several good properties of the aforementioned methods: avoiding complex implementation in terms of concept detection and excerpt assembly, hence we consider only global features; an approximate clustering to remove redundant shots but also to segment videos into semantic shots based on a near-duplicate approach.. Our system uses one simple global descriptor, HSV color histogram, as input of the LSH algorithm to efficiently compute near-duplicates of each frame. We exploit the analysis of the sets of near-duplicate frames LSH provides us with in order to segment the videos into semantic fragments and remove redundant parts. We compute a classic skimming process, to adapt the frame sampling rate in each relevant fragment, using average motion estimation based on our phase correlation descriptor. The computational power of LSH approach allow us to further consider larger or more complex features which should increase the precision of semantic fragment extraction and consequently improve the visual quality of our summaries while facilitating the skimming process To summarize the video content, we proposed a system using mainly one simple global descriptor, HSV color histogram, as input of an approximate clustering based on LSH to reach good computational performance. Our system gives encouraging results for redundancy removal and relevant video fragment extraction. We use a classic skimming process, to adapt the frame sampling rate in each relevant fragment, based on an average motion estimation provided by our phase correlation descriptor. However, our frame sampling rate, for each summarized fragment, produces jerky visual effects and thus provided us with a low score for "pleasant rythm/tempo" criterion. The computational power of LSH approach allow us to further consider larger or more complex features which should increase the precision of the semantic fragment extraction and consequently facilitate the skimming process and improve the visual quality of our summaries. To evaluate the Trecvid 2008 Rushes Task, the NIST considers 8 criteria : DU -duration of the summary (sec), XD -difference between target and actual summary size (sec), TT -total time spent judging the inclusions (sec), VT -total video play time (versus pause) judging the inclusions, IN -fraction of inclusions found in the summary, JUSummary contained lots of junk, RE -Summary contained lots of duplicate video and TE -Summary had a pleasant tempo/rythm.. Regarding the visual aspect of summaries, our results are not good, we are ranked 37 th over 43 runs for TE. We can conclude that our frame selection consisting of uniformely sample shots are not a good choice. Indeed, summary resulting are very jerky. Moreover, this effect also makes difficult the understanding of our summary, that also affects our ranking for TT and VT (respectively 38 th and 34 th ). Our results for IN and RE are very promising, we are ranked 18 th and 17 th . Indeed, all our schemes are based on the detection and removal of duplicate shots. The fact that we are properly classified for these two tasks shows that we have a good trade-off between non-detection and false detection.. Despite the fact that we are classified 40 th for effort consuming with 15236,2 sec on average per summary, the strong point of our method is that we have proposed a very fast scheme based on LSH to built summary. Indeed, once the features are extracted, our system creates the summary in less than 12 sec (for junk frame filtering, redundant shot detection and frame skimming) when run on a 3.2GHz processor and 8Go of main memory. We explain this difference of time by the fact that the program used to extract both HSV color histogram and phase correlation, is developed with Matlab without optimization. We can reasonably hope to decrease the computational time by a factor 10 by optimizing the program and reach a factor 100 by rewritting the program in C.

O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Onsets Coincidence for Cross-Modal Analysis Abstract-Cross-modal analysis offers information beyond that extracted from individual modalities. Consider a nontrivial scene, that includes several moving visual objects, some of which emit sounds. The scene is sensed by a camcorder having a single microphone. A task for audio-visual analysis is to assess the number of independent audio-associated visual objects (AVOs), pinpoint the AVOs' spatial locations in the video and isolate each corresponding audio component. We describe an approach that helps handle this challenge. The approach does not inspect the low-level data. Rather, it acknowledges the importance of mid-level features in each modality, which are based on significant temporal changes in each modality. A probabilistic formalism identifies temporal coincidences between these features, yielding cross-modal association and visual localization. This association is further utilized in order to isolate sounds that correspond to each of the localized visual features. This is of particular benefit in harmonic sounds, as it enables subsequent isolation of each audio source. We demonstrate this approach in challenging experiments. In these experiments, multiple objects move simultaneously, creating motion distractions for one another, and produce simultaneous sounds which mix. Violin-Guitar Sequence: This sequence features a close-up on a hand playing a guitar. At the same time, a violinist is playing. The soundtrack thus contains temporally-overlapping sounds. The algorithm automatically detected that there are two (and only two) independent visual features that are associated with this soundtrack. The first feature corresponds to the violinist hand. The second is the correct string of the guitar (Fig. 1) . Following the location of the visual features, the audio components corresponding to each of the features are extracted from the soundtrack. We note that the binary mask of the guitar erroneously includes some of the time-frequency components of the violin. During the pitch-tracking of one of the guitar's sounds, a violin sound starts. One of the harmonies of this commencing sound is close to a harmony of the guitar, and is erroneously included in the binary mask of the guitar. Consequently, the isolated soundtrack of the guitar contains artifacts traced to that harmony of the violin.. Speakers #1 Sequence: This movie has simultaneous speech by male and female speakers. The female is viewed frontally, while the male is viewed from the side. The algorithm automatically detected that there are two visual features that are associated with this soundtrack (Fig. 8) . Following the location of the visual features, the audio components corresponding to each of the speakers are extracted from the soundtrack. As can be seen, there is indeed a significant temporal overlap between independent sources. Yet, the sources are separated successfully. However, in the separation process, the initial /s/ sound in the letter " " that the female pronounces is lost almost completely. The reason for this is that this sound is a non-harmonic, noise-like sound, while the separation process relies on harmonic sounds. Furthermore: unlike other non-harmonic sounds that were successfully separated, this sound begins several analysis frames before the onset of the harmonic sound, in which the tracking and separation process begins.. Dual-Violin Sequence: This experiment is very challenging. It contains two instances of the same violinist, which uses the same violin to play different tunes. Listeners who had observed this mixed scene found it difficult to correctly group the different notes into a coherent tune. However, our algorithm managed to do so. First, it located the relevant visual features (Fig. 9) . These are exploited for isolating the correct audio components. The spectrograms shown in Fig. 10 correspond to the detected AVOs. This example demonstrates a problem which is very difficult to solve with audio data alone, but is elegantly solved using the visual modality.. Speakers #2 Sequence: This experiment also includes two speakers. It is a recording of a real scene. Two features on the mouth area of each speaker are correctly located (Fig. 11) . In this sequence, one of the audio onsets of the male coincides with an audio onset of the female. However, our method in its current formulation cannot identify concurrent audio onsets. Thus, no more than one audio onset can detected. In the audio-visual association stage, this concurrent onset was associated to the female speaker. The detected pitch, however, was that of the male. Consequently, in the isolated soundtrack corresponding to the male, one of his words is missing. On the other hand, in the soundtrack corresponding to the female, one of her words is replaced with that of the male. The corresponding spectrograms are shown in Fig. 12 .. The experiments described above depict the utilization of the perceptual-grouping rules, which we have described in Section II. They exploit changes, both auditory and visual ones. This aids in parsing dense audio-visual scenes into sparser events. The synchronicity of these events aids in relating otherwise-difficult connections (as in the dual-violin sequence). Finally, the old-plus-new heuristic aids in distinguishing the auditory components of interest over the lingering background.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Location-based memory fences Traditional memory fences are program-counter (PC) based. That is, a memory fence enforces a serialization point in the program instruction stream -it ensures that all memory references before the fence in the program order have taken effect before the execution continues onto instructions after the fence. Such PC-based memory fences always cause the processor to stall, even when the synchronization is unnecessary during a particular execution. We propose the concept of location-based memory fences, which aim to reduce the cost of synchronization due to the latency of memory fence execution in parallel algorithms.Unlike a PC-based memory fence, a location-based memory fence serializes the instruction stream of the executing thread T 1 only when a different thread T 2 attempts to read the memory location which is guarded by the location-based memory fence. In this work, we describe a hardware mechanism for location-based memory fences, prove its correctness, and evaluate its potential performance benefit. Our experimental results are based on a software simulation of the proposed location-based memory fence, and thus expected to incur higher overhead than the proposed hardware mechanism would. Nevertheless, our software experiments show that applications can benefit from using location-based memory fences, but they do not scale as well in some cases, due to the software overhead. These results suggest that a hardware support for location-based memory fences is worth considering. Keywords: location-based memory fences, memory fences, asymmetric synchronization, the Dekker duality, the Dekker protocol, biased locks * This work was conducted by the author outside of Google.This research was supported in part by the National Science Foundation under Grant CNS-1017058 and in part by the Angstrom Project funded by the Defense Advanced Research Projects Agency UHPC program under Agreement Number HR0011-10-9-0009. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. On many modern multicore architectures, threads 1 typically communicate and synchronize via shared memory. Classic synchronization algorithms such as Dekker [10] , Dijkstra [9] , Lamport (Bakery) [18] , and Peterson [22] use simple load-store operations on shared variables to achieve mutual exclusion among threads. All these algorithms employ an idiom, referred as the Dekker duality [6] , in which every thread writes to a shared variable to indicate its intent to enter the critical section and reads the other's variable to coordinate access to the critical section.. Crucially, the correctness of such idiom rely on that the memory model exhibits sequential consistency (SC) [19] , where all processors observe the same sequence of memory accesses, and within this sequence, the accesses made by each processor appear in its program order. While the SC memory model is the most intuitive to the programmer, existing systems typically implement weaker memory models that relax the memory ordering to achieve higher performance. The reordering does not affect the correctness of software execution for the most part, but in some cases, such as in the Dekker duality, it is important that the execution follows the program order, and the processors observe the relevant accesses in the same relative order.. Consider the following code segment shown in Figure 1 , which is a simplified version of the Dekker protocol [10] 2 using the idiom to synchronize access to the critical section among two threads. If the read in line T1.2 gets reordered with the write in line T1.1 (and similarly for Thread 2), or if Thread 1 and Thread 2 observe different order of when the writes (lines T1.1 and T2.1) occur, an incorrect execution may result, causing the two threads to enter the critical section concurrently.. To ensure a correct execution in such cases, these architectures provide serializing instructions and memory fences to force a specific memory ordering when necessary. Thus, a correct implementation of the Dekker protocol for such systems would require a pair of memory fences between the write and the read (between lines T1.1 and T1.2, and lines T2.1 and T2.2 in Figure 1 ), ensuring that the write becomes visible to all processors before the read is executed. Memory fences are costly, however, taking many more cycles to complete than regular reads and writes. Furthermore, a memory fence incurs overhead on the program execution even when the program is executed serially, or when the synchronization is unnecessary. For instance, the overhead incurred by the fence is unnecessary if only one thread intends to enter the critical section, and its write eventually becomes visible before another thread tries to enter the critical section.. Traditional implementation of memory fences is programcounter (PC) based. One cannot avoid the overhead incurred by a PC-based memory fence: upon execution the processor must stall, waiting for all outstanding writes before the fence in the instruction stream to become globally visible. The stalling is unnecessary, however, when no other threads are performing a read on these updated memory locations. In this work, we propose a locationbased memory fence, which causes the executing thread to "serialize" only when another thread tries to access the memory location associated with the memory fence. Location-based memory fences aim to reduce the latency in program execution incurred by memory fences. Unlike a PC-based memory fence, a location-based memory fence is conditional and remotely enforced -whether the executing thread serializes the memory accesses or not depends on whether there exists another thread that attempts to access the memory location associated with the memory fence.. Applications that employ the Dekker duality can benefit from location-based memory fences. While the Dekker duality seems to apply only to applications that synchronize between two threads, the idiom is commonly used to optimize applications involving multiple threads that exhibit asymmetric synchronization patterns, where one thread, the primary thread, enters a particular critical section much more frequently than the other threads running in the same process, referred as the secondary threads. Such applications typically employ an augmented version of the Dekker protocol: the secondary threads first compete for the right to synchronize with the primary thread (by grabbing an ordinary lock); once obtaining the right, the winning secondary thread then synchronizes with the primary thread using the Dekker protocol. The augmented Dekker protocol intends to speedup the execution path of the primary thread, even at the expanse of the secondary threads; therefore, it is particularly desirable to optimize away the overhead of memory fences on the primary thread's execution path, when the application executes serially or when there is no contention.. Many examples of such applications exist. For example, Java Monitors are implemented with biased locking [7, 16, 21] , which uses an augmented version of the Dekker protocol to coordinate between the bias-holding thread (primary) and a revoker thread (secondary). Java Virtual Machine (JVM) employs the Dekker duality to coordinate between mutator threads (primary) executing outside of JVM (via Java Native Interface) and the garbage collector (secondary) [7] . In a runtime scheduler that employs a workstealing algorithm [2-5, 11, 12, 17] , the "victim" (primary) and a given "thief" (secondary) coordinate the steal using an augmented Dekker-like protocol. Finally, in network package processing applications, each processing thread (primary) maintains its own data structures for its group of source addresses, but occasionally, a thread (secondary) might need to update data structures maintained by a different thread [23] .. Such applications motivate our study of location-based memory fences. In these applications, we would like to tune the algorithm so that the primary thread operates on the fast path and avoid the overhead of memory fences when possible; only when a secondary thread attempts to enter the critical section, the secondary thread takes measures to ensure that the primary thread serializes, thereby achieving synchronization.. To evaluate the feasibility of location-based memory fences, we use a software prototype to simulate the effect of location-based memory fences and evaluate two applications with the software prototype. While the software implementation incurs higher overhead than the proposed hardware mechanism would, our experiments show that applications still benefit from the software implementation. These results suggest that a hardware support for location-based memory fences is worth considering.. The rest of the paper is organized as follows. Section 2 gives a abbreviated background on why reordering occurs in architectures that support a weaker memory model. Section 3 presents the proposed hardware mechanism for location-based memory fences. Section 4 formally defines the specification of location-based memory fences, proves that the proposed hardware mechanism implements the specification, and lastly shows that the Dekker protocol using location-based memory fences provides mutual exclusion. Section 5 evaluates the feasibility of location-based memory fences using a software prototype implementation with two applications. Section 6 gives a brief overview on related work. Finally, Section 7 draws concluding remarks. In this work, we propose location-based memory fences, which aim to reduce the overhead incurred by memory fences in parallel algorithms. Location-based memory fences are particularly well-suited for algorithms that exhibit asymmetric synchronization patterns. We describe a hardware mechanism to support locationbased memory fences, proved its correctness and evaluate the feasibility of the fences using a software prototype. Our evaluation with the software prototype inspires confidence that the suggested LE/ST mechanism for supporting location-based memory fences in hardware is worth considering.. Finally, location-based memory fences lend itself to a different way of viewing programs compared to the traditional PC-based memory fences. It would be interesting to investigate what other algorithms can benefit from location-based memory fences, as well as other mechanisms that exploit the location-based model. Our work is closely related to studies performed on biased locks and asymmetric synchronization, so we focus on these in the section. Several researchers studied this area, mainly in the context of improving performance for Java locks.. [23] describes a fast biased lock algorithm, which allows the primary thread to avoid executing memory fences, until a secondary thread attempts to enter the critical section. In which case, the sec-ondary thread must wait for the primary thread to grant access in order to continue execution. While this request and grant protocol is performed via shared variables and therefore fairly efficient, this implementation can potentially deadlock if the biased lock is nested within another lock (or any resource that can block).. The studies in [7] and [21] describe similar biased lock implementations, where the owner of the lock is on the fast path for accessing the lock, and other threads need to revoke it and compete for ownership, and the lock ownership may transfer. Both algorithms use the "collocation" trick, where the status field and the lock field are allocated on the same word. They first write to one field and then the whole word is read. The correctness of the algorithm depends on the fact that hardware typically does not reorder read before older write when the addresses overlap. This collocation trick, while interesting, is not guaranteed to be safe, and on systems which this trick works correctly, the collocation always forces a memory fence to be issued regardless of whether there is contention [8] .. Serialization using signal and notify was proposed in [6] , as well as other more heavy-weight serialization mechanisms. Their work focus on software means to cause serialization in another thread, while decreasing synchronization overhead on the primary thread in applications that exhibit asymmetric synchronization patterns.. Finally, in [20] , Lin et al. propose a hardware mechanism for conditional memory fences, whose aim is also to reduce the overhead of memory fences when synchronization is unnecessary. In [20] , however, the assumption is that the compiler would automatically insert memory fences in order to enforce sequential consistency everywhere, and there may be multiple outstanding memory fences for a given thread at a given moment. Thus, their hardware mechanism is much more heavyweight compared to ours, so as to handle multiple outstanding fences at a given moment. Our mechanism is designed for applications that are hand-tuned with manually inserted fences, and we aim to provide a lightweight solution which does not handle multiple outstanding fences. We incorporate the software prototype of the fences into two applications -the asymmetric Cilk-5 runtime system and an asymmetric multiple-readers single-writer lock.. For the first application, we have modified the open-source Cilk-5 runtime system [11] 10 to incorporate the location-based memory fence into its Dekker-like protocol employed by the runtime work stealing scheduler, referred as the ACilk-5 runtime. In ACilk-5 runtime, when a thief (the secondary thread) needs to find more work to do, it engages in the asymmetric Dekker-like protocol with a given victim (the primary thread) in order to "steal" work from the victim's "deque." If there are more than two thieves attempt to steal from the same victim, the thieves must first compete for the right to engage the victim via a lock acquisition, so that only a single thief would engage in the Dekker protocol with the victim at any given moment. Assuming the application contains ample parallelism, a victim would access its own deque much more frequently than a thief, because steal occurs infrequently.. For the second application, we have designed an asymmetric multiple-readers single-writer lock, where the lock is biased towards the readers, henceforth referred as the ARW lock. From time to time, a reader (the primary thread) turns into a writer (the secondary thread), and attempts to acquire the ARW lock in write mode by engaging in the asymmetric Dekker protocol with each of the registered readers. Similarly to ACilk-5, if there are more than one writer at a given moment, the writers compete for permission to write by first acquiring a lock, and only the winning writer is allowed to engage in the Dekker protocol with the readers.. We ran all experiments on an AMD Opteron system with 4 quadcore 2 GHz CPU's having a total of 8 GBytes of memory. Each core 9 The correctness of the protocol is not affected by the primary thread being de-scheduled, because the de-scheduling constitutes a context switch, which requires the store buffer to drain before the de-scheduling. 10 The open-source Cilk-5 system is available at http://supertech. csail.mit.edu/cilk/cilk-5.4.6.tar.gz. on a chip has a 64-KByte private L1-data-cache and a 512-KByte private L2-cache, but all cores on a chip share a 2-MByte L3-cache.

O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I B I B I B I I B I I B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O B I O B I I O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O B I I O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O B I O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Making cluster applications energy-aware Power consumption has become a critical issue in large scale clusters. Existing solutions for addressing the servers' energy consumption suggest "shrinking" the set of active machines, at least until the more power-proportional hardware devices become available. This paper demonstrates that leveraging the sleeping state, however, may lead to unacceptably poor performance and low data availability if the distributed services are not aware of the power management's actions. Therefore, we present an architecture for cluster services in which the deployed services overcome this problem by actively participating in any action taken by the power management. We propose, implement, and evaluate modifications for the Hadoop Distributed File System and the MapReduce clone that make them capable of operating efficiently under limited power budgets. Power consumption has traditionally represented a critical issue for devices such as notebooks and personal digital assistants (PDAs) since these devices generally run on batteries. Recent research has however focused on reducing power consumption in cluster systems as well, mostly motivated by their operational costs and reliability. For instance, the data centers can consume as much energy as a city if the number of servers reaches a certain level [13] . Moreover, computing in an environment with high temperatures significantly increases the risk of failure [8] . To address the problem of overheating, data centers are forced to spend significant resources on cooling devices, which again increases the overall power consumption.. The EPA [7] estimates that U.S. data centers will consume around 100 billion kilowatt hours annually by 2011, representing a $7.4 billion annual cost. The reason for such a large overall cost is twofold. First, data centers and their services have become important for many sectors of the economy. Second, the same study has shown that the consumed energy has more than doubled in a period between 2000 and 2006, mostly because servers have become more power hungry. Therefore, the report suggested certain opportunities for improving the energy efficiency of data centers, including dynamically matching hardware resources to the load.. Most of the work on energy saving focuses on minimizing the energy consumption while keeping the same overall performance level. However, little research [4, 12] has concentrated so far on minimizing the potential damage caused by a power management system when it is forced to reduce the energy consumption when existing solutions which individually address various aspects of energy savings are not sufficient. It is indeed easy to imagine a case where the only action that a power management system can take is to force some of the machines to enter a sleep state. This could be due to, for example, a "thermal emergency" [4, 12] , when it is necessary to immediately reduce power consumption to avoid jeopardizing the energy supply of the entire system. In this case, the energy consumption represents the hard constraint of the optimization problem, rather than the objective function as it was the case in most of the previous work on this topic.. In this paper we demonstrate that two rather popular building blocks for distributed applications are neither capable of operating at multiple power levels, nor of dealing with energy consumption limits. We therefore suggest a simple energy-aware design relying on a common control plane, whereby the power management defines the goals that have to be accomplished (energy-wise), and lets the deployed services actively collaborate by suggesting actions that, from their standpoint, minimize the impact on performance and data availability. So far, we have considered the scenario in which only the services such as HDFS and MapReduce are involved in power management actions. Additional applications that are built on top of these services cannot fully be insulated from power-management. For example, since only the application might be aware of some of its data placement policies, it too has to be connected to the control plane. Further, it is likely that some application-specific knowledge can be leveraged to enhance the overall benefit. Take a data storage application as an example. This application would probably prefer maintaining availability of the current, most commonly used data relative to historical records which can temporarily be made unavailable. In this case, the information about historical records would be propagated to the common control plane where the final energy-saving decision would be taken. As already mentioned, a large body of research has focused so far on energy savings in laptop computers, embedded devices, etc. Specifically, most of the attention has been concentrated on optimizing the energy consumption for processors [20, 17] , memories [14] , or disks [5] . Interesting research work on offloading computation from these devices onto non-battery operated computers [18] has also been reported.. Recently, energy savings for data centers hosting clusters of thousands servers are becoming more and more important since the energy cost represents a significant share of the total ownership cost. Energy savings techniques used for data centers are usually different than those used for battery-operated devices because of their different purpose and workload. The work in this area can be classified into two groups, local and cluster-wide techniques, with most of them summarized in [3] . The local techniques include efforts based on DVS policies and batching requests [6, 9] to address high CPU energy consumption, or multi-speed disks [11] for tackling the energy consumption in the storage subsystem.. Achieving the magnitude of energy savings that is sufficient to address thermal emergencies [4, 12] while keeping performance penalties marginal might require cluster-wide techniques. For instance, if the server temperature is too high, these approaches can reduce its load (or turn off the server altogether, if necessary) by shifting the load to other machines that are unaffected by the emergency. The existing work [4, 15, 12] assumes that any given request might be served by a number of the currently active servers. This sort of policy is possible in scenarios in which each server is largely stateless, as is the case with the first two tiers in 3-tier Web services. However, cluster applications might be heterogeneous and the previous assumption does not hold in general case. For instance, there is no server which can replace the server holding the last replica of a file. Similarly, only the applications know which servers are essential to their functioning. In contrast to previous solutions, our approach suggests that all services deployed in a cluster actively participate in the power management actions. Furthermore, we explore what needs to be done in order to make any service deployed to the cluster power-aware and capable of operating in multiple power modes.. Given that various energy-saving solutions individually address different aspects of energy savings, deploying them together might potentially cause some dangerous or suboptimal interactions. Therefore, Raghavendra et al. [16] propose a solution to this problem that coordinates different individual approaches in an efficient and stable way.

O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Online

Tree

Node

Assignment

with

Resource

Augmentation

Abstract.

Given

a

complete

binary

tree

of

height

h,

the

online

tree

node

assignment

problem

is

to

serve

a

sequence

of

assignment/release

requests,

where

an

assignment

request,

with

an

integer

parameter

i

h,

is

served

by

assigning

a

(tree)

node

at

level

(or

height)

i

and

a

release

request

is

served

by

releasing

a

specified

assigned

node.

The

node

assignments

have

to

guarantee

that

no

node

is

assigned

to

two

assignment

requests

unreleased,

and

every

leaf-to-root

path

of

the

tree

contains

at

most

one

assigned

node.

With

assigned

node

reassignments

allowed,

the

target

of

the

problem

is

to

minimize

the

number

of

assignments/reassigments,

i.e.,

the

cost,

to

serve

the

whole

sequence

of

requests.

This

online

tree

node

assignment

problem

is

fundamental

to

many

applications,

including

OVSF

code

assignment

in

WCDMA

networks,

buddy

memory

allocation

and

hypercube

subcube

allocation.Most

of

the

previous

results

focus

on

how

to

achieve

good

performance

when

the

same

amount

of

resource

is

given

to

both

the

online

and

the

optimal

offline

algorithms,

i.e.,

one

tree.

In

this

paper,

we

focus

on

resource

augmentation,

where

the

online

algorithm

is

allowed

to

use

more

trees

than

the

optimal

offline

algorithm.

By

using

different

approaches,

we

give

a

online

algorithm,

which

uses

(h

trees,

and

is

optimal

because

(h

trees

are

required

by

any

online

algorithm

to

match

the

cost

of

the

optimal

offline

algorithm

with

one

tree;

a

algorithm

with

trees;

an

amortized

α)-competitive

algorithm

with

trees,

for

any

α

where

α

The

tree

node

assignment

problem

is

defined

as

follows.

Given

a

complete

binary

tree

of

height

h,

the

target

is

to

serve

a

sequence

of

requests.

Every

request

is

classified

as

either

an

assignment

request

or

a

release

request.

To

serve

an

assignment

request,

which

is

associated

with

an

integer

parameter

i

h,

we

have

to

assign

it

a

(tree)

node

at

level

(or

height)

i.

To

serve

a

release

request,

we

just

need

to

mark

a

specified

assigned

node

free.

There

are

two

constraints

for

the

node

assignments,

which

are

any

node

can

be

assigned

to

at

most

one

unreleased

assignment

request,

(without

ambiguity,

all

assigned

requests

are

assumed

unreleased),

and

there

is

at

most

one

assigned

node

in

every

leaf-to-root

path.

Fig.

gives

a

valid

tree

node

assignment.

The

tree

node

assignment

problem

can

be

considered

as

a

general

resource

allocation

problem,

which

can

model

the

specific

problems,

such

as

the

Orthogonal

Variable

Spreading

Factor

(OVSF)

code

assignment

problem

the

buddy

memory

allocation

problem

and

the

hypercube

subcube

allocation

problem

The

main

difference

between

these

problems

is

how

the

resource,

the

nodes

at

level

i,

for

i

h,

are

interpreted.

In

the

OVSF

code

assignment

problem,

the

resource

consists

of

codes

of

frequency

bandwidth

i

in

the

buddy

memory

allocation

problem,

the

resource

consists

of

memory

blocks

of

size

i

in

the

hypercube

subcube

allocation

problem,

the

resource

consists

of

subcubes

of

i

processors.

Similar

to

the

memory

allocation

problem,

algorithms

for

the

tree

node

assignment

problem

also

face

the

fragmentation

problem.

For

example,

in

Fig.

there

is

no

node

of

level

that

can

be

assigned

(without

violating

constraint

of

node

assignments).

In

fact,

we

can

"defragment"

the

tree

by

reassigning

the

assigned

node

c

to

free

node

f

Then,

node

a

is

free

to

assign

to

assignment

request

of

level

In

this

paper,

we

consider

the

tree

node

assignment

problem

where

reassignment

of

nodes

is

allowed.

In

addition,

we

design

algorithms

that

serve

all

requests

in

the

request

sequence,

and

we

assume

that

all

requests

in

the

request

sequence

can

be

served

by

some

algorithm

using

only

one

tree

of

height

h..

The

performance

of

an

algorithm

for

the

tree

node

assignment

problem

is

measured

by

the

number

assignments/reassignments,

which

is

called

the

cost,

carried

out

by

the

algorithm.

The

release

operations

take

no

cost,

as

in

the

applications,

the

operation

to

release

a

resource

is

usually

negligible

when

compared

with

the

overhead

of

assigning/reassigning

a

resource..

Both

the

offline

and

online

version

of

the

tree

node

assignment

problem

are

well

studied,

especially

in

the

context

of

OVSF

code

assignment.

In

the

offline

version,

the

sequence

of

requests

is

known

in

advance,

whereas

in

the

online

version,

the

algorithm

must

process

each

request

without

any

information

about

future

requests.

The

offline

version

of

this

problem

is

proved

to

be

NP-hard

Most

of

the

previous

work

studied

the

online

version

of

the

problem,

where

performance

is

given

in

terms

of

competitive

ratios,

i.e.,

the

worst

case

ratio

of

the

costs

between

the

online

algorithm

and

the

optimal

offline

algorithm.

Erlebach

et

al

gave

an

O(h)-competitive

algorithm,

where

h

is

the

height

of

the

tree,

and

proved

a

general

lower

bound

on

the

competitive

ratio

of

at

least

Forisek

et

al

gave

a

constant-competitive

algorithm,

but

without

deriving

the

exact

value

of

the

constant.

Chin,

Ting

and

Zhang

gave

a

algorithm

and,

in

addition,

their

algorithm

guarantees

that

each

request

is

served

with

at

most

assignments/reassignments.

They

then

improved

the

upper

bound

by

proposing

a

algorithm

They

improved

the

lower

bound

of

the

competitive

ratio

to

Very

recently,

Miyazaki

and

Okamoto

gave

a

algorithm

and

improved

the

lower

bound

of

the

competitive

ratio

to

In

this

paper,

we

focus

on

the

online

version

of

the

problem

with

resource

augmentation

which

means

that

the

online

algorithm

is

allowed

to

use

more

trees

than

the

optimal

offline

algorithm.

We

assume

that

the

optimal

offline

algorithm

uses

one

tree,

while

the

online

algorithm

can

use

k

trees,

where

k

The

competitive

ratio

is

defined

to

be

the

worst

case

ratio

of

the

cost

between

the

online

algorithm

with

k

trees

and

the

optimal

offline

algorithm

with

one

tree.

This

problem

has

been

studied

before.

Erlebach

et

al

gave

a

algorithm

with

two

trees,

and

Chin,

Zhang

and

Zhu

gave

a

algorithm

with

trees..

The

main

contribution

of

this

paper

is

to

show

how

the

competitive

ratio

can

be

further

reduced

by

making

use

of

more

trees.

In

other

words,

how

the

future

information

(offline)

can

be

compensated

by

extra

resources

(trees).

First,

we

give

an

online

algorithm

with

trees

that

matches

the

cost

of

the

optimal

offline

algorithm

with

one

tree.

In

fact,

this

algorithm

even

matches

the

cost

of

each

request

with

that

of

the

optimal

offline

algorithm

with

one

tree,

as

it

does

not

require

any

reassignments.

We

further

show

that

for

any

online

algorithm

to

match

the

cost

of

the

optimal

offline

algorithm

with

one

tree,

(h

trees

are

necessary.

That

implies

that

our

algorithm

is

optimal

in

terms

of

the

number

of

trees

used.

Then,

by

using

one

extra

reassignment

for

each

release

request

to

reduce

the

fragmentation

of

the

assigned

nodes

in

the

tree,

we

can

use

fewer

trees

to

serve

the

sequence

of

requests.

In

particular,

we

give

a

online

algorithm

with

trees.

This

algorithm

bounds

the

cost

of

each

request

to

one,

i.e.,

each

assignment

request

takes

one

assignment

and

each

release

request

takes

at

most

one

reassignment.

These

two

algorithms

with

bounded

costs

for

each

request

are

presented

in

Section

When

it

is

not

necessary

to

bound

the

cost

of

individual

requests

to

a

constant,

we

can

achieve

an

amortized

algorithm

with

trees,

for

any

α

where

α

This

algorithm

is

presented

in

Section

Remark:

Because

of

page

limit,

some

detailed

proofs

are

removed.

For

full

version

of

this

paper,

please

refer

to

O B I I O B I O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Assessing

aspects

of

children's

written

grammar:

automating

the

process

Teachers

are

expected

to

make

regular

assessments

of

pupils

writing,

providing

The

British

Government

has

set

'a

challenging

national

target'

for

pupils

in

Literacy

(www.standards.dfee.gov.uk/performance).

Eighty

per

cent

of

year

olds

are

expected

to

achieve

'Level

or

above

in

National

Curriculum

tests

known

as

Standard

Assessment

Tasks

achieved

the

same

level

in

writing.

Assisted

by

government

documents,

primary

teachers

are

required

to

further

develop

their

pupils

writing

skills

if

the

target

is

to

be

met.

English:

The

National

Curriculum

for

England

(DfEE,

identifies

the

levels

of

attainment.

The

National

Literacy

Strategy

(DfEE,

outlines

teaching

objectives

for

each

of

the

year

groups

within

the

Key

Stage.

Teachers

are

expected

to

use

the

Literacy

Strategy

teaching

objectives

to

help

their

pupils

move

from

one

National

Curriculum

level

to

the

next..

An

integral

part

of

the

process

of

teaching

writing

is

the

regular

assessment

of

pupils'

writing

skills,

which

involves

marking

scripts

and

providing

pupils

with

feedback

about

their

performance.

Marking

guidelines

for

writing

encourages

teachers

to

make

detailed

assessments

of

individual

pupil's

strengths

and

weaknesses.

Teachers

are

expected

to

use

a

process

similar

to

the

mark

scheme

used

to

assess

the

writing

element

of

the

SATs

at

the

end

of

Key

Stage

This

assessment

is

divided

into

two

aspects:

organisation

and

grammar

(including

punctuation).

Briefly,

to

achieve

Level

writing

should

be

coherent

and

well

paced,

with

a

beginning

middle

and

end

suitably

distinguished

and

events

logically

related,

with

some

interaction

between

characters.

Writing

should

also

demonstrate:

mostly

correct

use

of

full

stops

(including

question

and

exclamation

marks);

some

evidence

of

the

correct

use

of

commas

to

separate

clauses

and

short

phrases;

some

grammatically

complex

sentences,

showing

different

types

of

connectives;

some

adventurous

vocabulary

(including

adverbial

and

noun

phrases)

and

consistent

use

of

tenses..

Knowledge

of

individual

children's

strengths

and

weaknesses

can

indicate

which

aspects

require

further

practice.

However,

whilst

assessing

the

organisation

element

of

story

writing

is

arguably

straightforward,

undertaking

detailed

analyses

of

children's

grammar

is

a

time

consuming

task

which

requires

a

comprehensive

knowledge

of

grammar

not

necessarily

possessed

by

teachers.

If

the

assessment

of

children's

grammar

could

be

successfully

automated

by

the

computer,

in

the

form

of

a

text

analysis

program,

then

the

teacher's

feedback

to

pupils

about

their

writing

performance

might

be

more

effective,

whilst

their

workload

would

be

considerably

reduced..

Text

analysis

programs

already

exist,

but

they

are

targeted

at

the

way

adults

write

rather

than

children.

Two

questions

required

consideration

when

programming

a

computer

to

analyse

children's

writing:

which

grammar

features

can

be

successfully

detected

by

the

computer

and

do

these

features

demonstrate

the

difference

between

effective

and

poor

writing

skills?

Based

on

the

SATs

grammar

requirements,

and

research

concerning

children's

grammar

and

punctuation

development,

ten

linguistic

features;

covering

sentence

construction,

vocabulary

and

punctuation,

were

chosen

for

investigation.

Stories

reflecting

the

spread

of

attainment

levels

of

year

old

pupils

were

analysed

by

the

computer

to

determine

whether

trends

between

the

national

curriculum

levels

could

be

detected

in

these

features.

The

statistical

analysis

was

compared

to

a

human

interpretation

of

the

syntactical

patterns

that

contributed

to

the

effectiveness

of

each

text

in

order

to

understand

the

significance

of

the

findings.

The

outcome

was

a

formative

set

of

results

which

could

form

the

basis

of

a

diagnostic

tool

for

teachers,

geared

specifically

for

story

writing

at

Key

Stage

It

was

not

the

intention

of

this

study

to

carry

out

a

complete

grammatical

analysis,

but

to

investigate

some

of

the

constructions

that

provide

evidence

of

differences

in

maturity

in

children's

writing.

A

complete

linguistic

analysis

of

children's

writing

by

the

computer

has

not

been

undertaken.

Absent,

for

example,

is

information

about

the

kinds

of

subordinate

clauses

used

by

the

children

in

their

writing

and

the

use

made

of

adjectives

and

adjectival

expansion

etc.

to

achieve

particular

effects.

However,

the

ten

criteria

which

were

selected

for

investigation,

showed

evidence

as

to

their

value

as

measures

of

the

strengths,

and

weaknesses,

in

the

writing

of

individual

children.

This

formative

study

demonstrates

the

potential

value

of

undertaking

further

research,

involving

a

greater

number

of

stories..

The

results

indicate

that

the

computer

can

identify

key

differences

between

mature

and

immature

writing

with

regard

to

grammar.

Story

length

correlated

most

successfully

with

the

national

curriculum

levels

of

attainment,

although

this

feature

was

the

least

satisfactory..

Investigating

the

percentage

of

the

connective

'and'

present

in

the

writing

samples

successfully

highlighted

immature

writing.

By

detecting

the

use

of

the

connective

'and'

separately

to

other

basic

connectives,

it

is

possible

to

identify

more

clearly

the

stage

a

writer

is

at:

from

complete

beginner

to

an

advanced

writer.

Harpin's

TTR

method

proved

a

reasonable

indicator

of

vocabulary

resources,

although

analysing

the

rate

of

drop

in

the

TTR,

after

the

first

words,

did

not,

as

hypothesised

by

Harpin,

contribute

to

the

task

of

differentiating

between

the

levels.

The

test

identifying

simple

sentence

starters

would

benefit

from

further

refinements.

It

may

prove

beneficial

to

investigate

other

sentence

starters

in

addition

to

pronouns

and

the

definite

article.

Counting

sentence

lengths

in

words

was

reasonably

successful

at

indicating

both

the

insecure

and

secure

use

of

full

stops

characteristic

of

immature

and

mature

writers

respectively.

In

addition,

the

test

indicated

the

range

of

sentence

constructions

evident

in

a

text.

However,

the

most

useful

test

for

discriminating

the

level

of

maturity

in

a

writing

sample

was

the

mean

sentence

length

to

comma

ratio,

indicating

the

presence

of

clauses.

A

writer

who

is

able

to

correctly

punctuate

subordinated

and

embedded

clauses

contained

within

complex

sentences,

is

clearly

a

mature

writer..

A

computer

analysis

of

samples

of

writing

can

thus

reveal

the

level

of

grammatical

maturity

the

child

has

reached.

Mastery

of

most

grammatical

structures

is

evidence

of

mature

writingpupils

achieving

the

higher

national

curriculum

levels

are

expected

to

demonstrate

a

varied

and

sophisticated

vocabulary,

a

wide

range

of

sentence

constructions

and

accurate

punctuation.

However,

whilst

a

statistical

analysis

of

children's

written

grammar

could

be

useful

to

teachers,

they

would

also

require

assistance

with

interpreting

the

results,

in

order

to

understand

their

significance.

Thus,

rather

than

simply

state

that

the

average

number

of

words

per

sentence

is

for

example,

or

that

basic

connectives

account

for

of

all

words

used

in

a

text,

information

would

need

to

be

supplied,

stating

whether

these

are

desirable

features

or

not..

Writing

cannot

be

assessed

by

levels

of

grammatical

maturity

alone

however.

Whilst

an

analysis

of

particular

grammar

features

can

indicate

why

some

texts

succeed

better

than

others

-a

task

which

can

be

fulfilled

by

a

computer,

it

is

essential

that

any

assessment

considers

writing

holistically

as

well.

There

is

little

point

in

a

child's

story

containing

mature

patterns

of

sentence

structure

and

varied

and

sophisticated

vocabulary,

if

the

writing

is

boring,

lacks

organisation

and

has

little

plot.

Without

a

holistic

assessment,

the

computer

is

merely

making

superficial

judgements

based

on

the

surface

features

of

a

text.

Thus,

although

the

computer

can

assess

the

level

of

grammatical

maturity

in

a

piece

of

writing,

it

is

unable

to

use

the

information

to

ascribe

national

curriculum

levels.

Nevertheless,

a

computer

analysis

of

vocabulary

use

and

syntax

could

be

a

useful

diagnostic

tool

for

teachers

who

lack

the

time

or

necessary

linguistic

knowledge

to

undertake

the

task

of

careful

'reading'

between

the

words

in

order

to

consider

the

syntactical

patterns

which

contribute

to

the

effectiveness

of

a

text.

As.

The

Grammar

Papers

concludes,

drawing

explicit

attention

of

the

syntactic

features

of

pupils'

writing

can

increase

pupils

awareness

of

how

language

works,

which

in

turn

may

increase

their

control

over

their

writing.

An

analysis

was

performed

upon

a

small

sample

of

stories

written

by

Year

children

(aged

for

the

SATs

writing

test.

The

stories

were

obtained

from

two

publications,

provided

by

The

Stationery

Office

as

examples

of

the

different

standards

of

attainment

associated

with

the

end

of

Key

Stage

Table

shows

the

range

of

levels

of

the

sample

texts.

These

examples

were

chosen

for

analysis

because

they

had

been

objectively

marked

by

official

examiners

who

had

selected

them

as

suitably

representative

of

the

different

national

curriculum

levels.

The

most

significant

and

unique

feature

of

the

sample,

was

the

availability

of

detailed

written

comments

from

the

assessors

which

highlighted

why

each

story

achieved

a

particular

level.

The

sample

was

limited

in

size

because

these

stories

are

the

only

test

examples

currently

publicly

available

that

are

accompanied

by

such

written

comments..

Despite

its

small

size,

the

sample

was

considered

useful

for

a

formative

study

to

establish

a

methodology

which

could

indicate

strengths

and

weaknesses

in

children's

written

grammar..

The

benefit

of

performing

a

computer

statistical

analysis

on

this

particular

collection

of

stories

was

that

the

computer

analysis

could

be

compared

to

a

reliable

and

objective

human

interpretation.

A

possible

outcome

of

the

study

could

be

a

proposal

to

conduct

further

analysis

of

a

larger

number

of

stories,

which

could

be

developed

into

a

more

comprehensive

text

analysis

program

geared

specifically

to

children's

narrative

writing.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


ASAM: Automatic Architecture Synthesis and Application Mapping Abstract -This paper focuses on mastering the automatic architecture synthesis and application mapping for heterogeneous massively-parallel MPSoCs based on customizable applicationspecific instruction-set processors (ASIPs). It presents an overview of the research being currently performed in the scope of the European project ASAM of the ARTEMIS program. The paper briefly presents the results of our analysis of the main problems to be solved and challenges to be faced in the design of such heterogeneous MPSoCs. It explains which system, design, and electronic design automation (EDA) concepts seem to be adequate to resolve the problems and address the challenges. Finally, it introduces and briefly discusses the ASAM design-flow and its main stages. The recent spectacular progress in semiconductor technologies has enabled implementation of increasingly complex multiprocessor systems on single chips (MPSoCs). New important opportunities have been created: the traditional applications can now be served much better, and numerous new sorts of systems became technologically feasible and economically justified.. However, in parallel, unusual silicon and system complexity has been introduced. This complexity results in a number of new difficult issues to be addressed such as ensuring high-quality and validation of the highly complex systems; adequately addressing the MPSoC energy crisis, and increased leakage power; resolving the interconnect scalability problems and on-chip communication problems; adequately accounting for the dominating influence of interconnects and communication on major physical system characteristics; and substantially decreasing the high system development and production costs, and long development times.. Moreover, for the new highly-demanding applications increasingly complex and sophisticated MPSoCs are required to perform real-time computations to extremely tight schedules, with high demands regarding energy, area, costs and development efficiency. Many of the MPSoCs are required to be highly flexible. The modern complex embedded applications typically include many various parts and numerous different algorithms involving various kinds of information processing. They are from their very nature heterogeneous. Consequently, to implement these complex and demanding heterogeneous applications effectively and efficiently, the heterogeneous application-specific multi-processor system approach should be used.. This paper focuses on mastering the MPSoC architecture design for such highly-demanding embedded applications. It presents an overview of the research being currently performed in the scope of the European project ASAM (Architecture Synthesis and Application Mapping for heterogeneous MPSoCs based on adaptable ASIPs) of the ARTEMIS program. The paper briefly presents the results of our analysis of the main problems that have to be solved and challenges to be faced in the design of such heterogeneous MPSoCs. It explains which system, design, and electronic design automation (EDA) concepts seem to be adequate to resolve the problems and address the challenges. Finally, it introduces and briefly discusses the design-flow and its main stages proposed by the ASAM project consortium to enable effective and efficient solution of these problems. In the former sections an overview has been presented of the research results of the European project. Due to a limited length of the paper, we had to focus on only the main unsolved problems and only the main solution concepts. Many more research results have been produced by the ASAM consortium than these once briefly discussed in this paper. They include results related to such important problems as energy consumption management, application analysis and restructuring or actual automatic coherent SW and HW co-development. More information on the research results from ASAM can be found in several already published papers with links to them at the ASAM home-page (http://www.asam-project.org/), a few more specific papers in this conference [27] [28] [29] , [31] , [32] , and several papers under preparation.

O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O