Numerical comparison of Riemann solvers for astrophysical hydrodynamics Abstract. The idea of this work is to compare a new positive and entropy stable approximate Riemann solver by Francois Bouchut with a state-of the-art algorithm for astrophysical fluid dynamics. We implemented the new Riemann solver into an astrophysical PPM-code, the Prometheus code, and also made a version with a different, more theoretically grounded higher order algorithm than PPM. We present shock tube tests, two-dimensional instability tests and forced turbulence simulations in three dimensions. We find subtle differences between the codes in the shock tube tests, and in the statistics of the turbulence simulations. The new Riemann solver increases the computational speed without significant loss of accuracy. In modern astrophysics the interplay between observations and numerical experiments plays a central role. Typically hydrodynamical flows with high Reynolds numbers and Mach numbers are studied, and they are modelled by the Euler equations ρ t + div(ρu) = 0 (ρu) t + div(ρuu) + p x = ρf 1 (ρv) t + div(ρvu) + p y = ρf 2 (ρw) t + div(ρwu) + p z = ρf 3 E t + div((E + p)u) = ρf · u. Here ρ is the mass density, u = (u, v, w) is the velocity field, p is the pressure, and E is the energy density E = 1 2 ρu 2 + ρe with e the specific internal energy. External forces are given in units of acceleration by f = (f 1 , f 2 , f 3 ). The system is closed by the equation of state that relates p to ρ and e. In this work we consider ideal gases where ρe = p/(γ − 1) for some γ > 1, and isothermal gases. An isothermal gas has constant temperature T , which implies p = a 2 ρ for a = RT µ , with R the gas constant and µ the mean molecular weight. In a real astrophysical flow additional physical phenomena such as magnetic fields, gravitational forces and electromagnetic radiation may be important, but this paper is only concerned with the hydrodynamics. The specific physical entropy s is defined by the relation (1.2) de + pd 1 ρ = T ds with T = T (ρ, e) > 0 the temperature. The second law of thermodynamics implies that (1.3) (ρφ(s)) t + div(ρuφ(s)) ≤ 0 for any smooth, nonincreasing and convex φ. In high Mach number flows this condition is needed to ensure the dissipativity of shocks, since the viscous forces are ignored in (1.1).. To numerically solve (1.1), shock-capturing finite volume schemes are widely used. In astrophysics it is often done with the PPM algorithm described in [4] , often with an iterative method to approximate the exact midpoint value of the Riemann fan. This was implemented in the spatial reconstruction is piecewise parabolic, which is reported to give better resolution than piecewise linear reconstruction. Furthermore, the accuracy at contact discontinuities is improved by an algorithm that detects them, and then steepens the reconstructed density. There is also an algorithm that adds artificial diffusion in order to avoid oscillations behind strong, slow-moving shocks without smearing out the solution much. The reconstruction is required to be monotocity preserving. This means that the order of the scheme may drop locally at extremal points of a reconstructed quantity, which means a primitive quantity in the case of PPM as in [4] . This drop in order is also a feature of the second order reconstruction we use with the Runge-Kutta time integration.. In order to resolve shocks and shock interactions a Riemann problem is solved with the data from the back-tracing operation as input. For the Euler equations there is no general explicit formula for the solution of the Riemann problem, so in Prometheus an iterative procedure provides instead approximate values of the fluxes at cell interfaces. For efficiency the number of iterations is limited to a fixed number. From our numerical experiments we have made the following observations: • There is slightly more smearing of stationary shocks with HLLC-Bouchut compared to the exact solver.. • The RK-codes smear out most features more than the PPM-codes, and especially contact discontinuities. • RK-HLLC handles small densities better than the other codes.. • All codes exhibit spurious oscillations. We see more of them with the PPM-codes, except at the near stationary shock, where PPM has a specialised 'flattening' procedure.. • The growth of Kelvin-Helmholtz and Richtmeyer-Meshkov instabilities appears to be little affected by which of the two Riemann solvers are used.. • In turbulence simulations of adiabatic gas, the dissipativity of RK-HLLC seems to be less for higher than for lower Mach numbers, while the dissipation with PPM is independent of the Mach number.. • For turbulence in an adiabatic gas with an RMS (root mean squared) Mach number less than about 5, RK-HLLC seems to be more dissipative than PPM.. • For turbulence with an RMS (root mean squared) Mach number of 2.5 and higher in an isothermal gas, there were no significant differences between Riemann solvers or higher algorithms.. The widespread use of PPM in the astrophysics community has lead to concern about how much the results depend on this algorithm. We conclude that with respect to the Riemann solver their results are accurate. However the efficiency of the HLLC Riemann solver of Bouchut suggests that it may be used instead.

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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Efficient top-k querying over social-tagging networks Online communities have become popular for publishing and searching content, as well as for finding and connecting to other users. User-generated content includes, for example, personal blogs, bookmarks, and digital photos. These items can be annotated and rated by different users, and these social tags and derived user-specific scores can be leveraged for searching relevant content and discovering subjectively interesting items. Moreover, the relationships among users can also be taken into consideration for ranking search results, the intuition being that you trust the recommendations of your close friends more than those of your casual acquaintances.Queries for tag or keyword combinations that compute and rank the top-k results thus face a large variety of options that complicate the query processing and pose efficiency challenges. This paper addresses these issues by developing an incremental top-k algorithm with two-dimensional expansions: social expansion considers the strength of relations among users, and semantic expansion considers the relatedness of different tags. It presents a new algorithm, based on principles of threshold algorithms, by folding friends and related tags into the search space in an incremental on-demand manner. The excellent performance of the method is demonstrated by an experimental evaluation on three real-world datasets, crawled from deli.cio.us, Flickr, and LibraryThing. The advent of Web 2.0 has changed the way users interact with the Internet. Publishing content has never been easier, and new online services offer not only the possibility to store personal content, but also to share it with other people and to explore other users' 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. contents. Examples of social-community platforms are del.icio.us, Flickr, LibraryThing, LinkedIn, MySpace, Facebook, and YouTube.. While differing in the type of content that they focus on (e.g., blog entries, photos, videos, books, bookmarks), most community platforms follow a common pattern. Users must register in order to join the community. Then they produce information, ideally by publishing their own documents 1 and by adding tags or ratings or comments to other content already available in the community. The platforms also offer a way to maintain a list of friends and means to keep friends informed about your latest content items. The size of your friend network is often considered as an indication of high reputation in the network. Many users initially populate their lists of friends with people they already know from the offline world or other online communities, but over time they typically identify previously unknown users that they share common interests with and also add those users to their friends lists.. A key feature of social communities is the widely used opportunity to attach manually generated annotations, so-called tags, to content items. Tags can provide precise descriptions of content items, flavored with the respective personal interest of the user who generates the tag.. Social tagging offers an opportunity to exploit the "wisdom of the crowds" by identifying valuable content that is recommended by friends -either directly or indirectly (i.e., via friends of friends) and explicitly (e.g., ratings) or implicitly (e.g., by intensive tagging). To this end, the relationships among users should be taken into account for ranking, the intuition being that you trust the recommendations of your close friends more than those of your casual acquaintances. This situation resembles the paradigm of collaborative recommendation [19, 25] , which applies data mining on customer-product and similar usage data to predict items that users are likely interested in. However, the fast growth of communities and the very high rate of content production and tagging efforts calls for highly efficient and scalable methods. Existing algorithms for fast Web search do not consider user relationships and the assets from social tagging, and prior methods for collaborative recommendation do not provide the throughput scalability that one needs for running millions of daily ad-hoc queries in social communities such as Flickr -with more than 2 billion content items, many million users, and high dynamics.. This paper presents a solution to the above problem by developing an efficient top-k algorithm for social search and ranking. The method is based on principles of top-k threshold algorithms over inverted lists of different types, with various novel techniques for the specific setting of large online communities. For leveraging the "social wisdom", the algorithm employs a new form of two-dimensional expansions: social expansion considers the strength of relations among users, and semantic expansion considers the relatedness of different tags. For efficiency, these expansions are performed incrementally on demand, by dynamically folding friends and related tags into the search space. The excellent performance of the method is demonstrated by an experimental evaluation on three real-world datasets, crawled from deli.cio.us, Flickr, and LibraryThing.. The rest of the paper is organized as follows. Section 2 reviews related work and puts it into context. Section 3 introduces a graph model to represent the entities in a social community and their relationships. Section 4 presents ways of quantifying the strengths of different relationships, which in turn feeds into a model for computing scores of user-specific search results and recommendations. Section 5 explains the algorithm for efficiently processing queries in social networks. Section 6 presents experiments with three realworld datasets to study retrieval/recommendation effectiveness and, most notably, demonstrate the efficiency gains by the new query processing algorithm. Social search is a promising direction to increase user-perceived query result quality. This paper developed an effective scoring model for user-centric searches in social networks, and introduced the CONTEXTMERGE algorithm to efficiently evaluate queries in such networks, dynamically including related users in the execution. Combining a top-k algorithm with dynamic tag expansion and dynamic expansion to similar users, CONTEXTMERGE is up to an order of magnitude faster in terms of measured runtime and cheaper in terms of abstract cost than the standard baseline method of processing inverted lists. Social networks of the Web 2.0 style have received major attention in the recent literature, with focus on applying data mining methods on social relations and, most prominently, relations among tags. [16] provides an empirical study of the tagging behavior and tag usage in online communities. [21, 31] discuss methods for generating taxonomy-like relations among tags, so-called "folksonomies", based on statistical measures. Similar approaches have been applied to query-and-click logs, e.g., in [5] , but none of this work considers social relations between different users. Identifying important and emergent tags and visualizing them in so-called "tag clouds" (and corresponding time series) has been extensively explored; recent work along these lines includes [14, 17, 32] . The dynamics of social relations among users (e.g., the rate of making friends) has been studied, for example, in [2, 24, 33] .. As for the exploitation of social tags for information retrieval, [3] discusses the challenges of searching and ranking in social communities. Various forms of community-aware ranking methods have been developed, mostly inspired by the well-known PageRank method [10] for web link analysis. [22] proposes FolkRank for identifying important users, data items, and tags. [36] compares different methods for identifying authoritative users with high expertise. [6] introduces SocialPageRank, to measure page authority based on its annotations, and SocialSimRank for the similarity of tags. [35] further extends this work by augmenting language models with tag similarities. [13] shows that explicit user tagging can help to improve precision of queries for Intranet search. The very recent work of [20] provides an empirical analysis of how social bookmarking can influence Web search, with both positive and negative insights. None of this prior work considers the impact of user-friendship strengths on the scoring of search results, and the problem of efficient query processing in the presence of such "social wisdom".. Aspects of user communities have also been considered for peerto-peer search, most notably, for establishing "social ties" between peers and routing queries based on corresponding similarity measures (e.g., similarities of queries issued by different peers). [8] has studied "social" query routing strategies based on explicit friendship relationships and behavioral affinity. [27] has developed an architecture and methods for "social" overlay networks that connect "taste buddies" with each other. [26] has proposed a communityenhanced Web search engine that takes into account prior clicks by community members. [11] has proposed the notion of PeerSensitive ObjectRank, where peers receive resources from their friends and rank them using peer-specific trust values.. There is ample literature on collaborative filtering for recommender systems (e.g., [1, 18, 29, 30] ), for example, to predict movies or e-commerce items that customers are likely to buy or to identify news that news-feed subscribers are likely interested in. In a nutshell, these methods aim to learn user preferences from the collective behavior -like purchases or tagging -of an entire community. Typically, statistical analysis and machine learning techniques are used offline for precomputations, and the actual runtime recommendations have limited flexibility and cannot easily cope with high dynamics and ad-hoc interests of individual users (as expressed by an ad-hoc query). One of the notable exceptions is the recent work by [12] which addresses scalability issues when the number of users and items in a recommender system grows to many millions and both undergo fast changes. However, in contrast to our "social search" theme, this prior work considers only the space of user-item pairs and there is no notion of user-specific tags or annotations on items. Thus, our setting requires search over a three-dimensional user-tag-item space, as opposed to the twodimensional user-item space of the previous work on collaborative filtering.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 O O O O O O O O O O O O O O O O O O O O O


Generalized nash bargaining solution for bandwidth allocation For over a decade, the Nash bargaining solution (NBS) concept from cooperative game theory has been used in networks to share resources fairly. Due to its many appealing properties, it has recently been used for assigning bandwidth in a general topology network between applications that have linear utility functions. In this paper, we use this concept for allocating the bandwidth between applications with general concave utilities. Our framework includes in fact several other fairness criteria, such as the max-min criteria. We study the impact of concavity on the allocation and present computational methods for obtaining fair allocations in a general topology, based on a dual Lagrangian approach and on Semi-Definite Programming. Fair bandwidth assignment has been one of the important challenging areas of research and development in networks supporting elastic traffic. Indeed, Maxmin fairness has been adopted by the ATM forum for the Available Bit Rate (ABR) service of ATM [2] . Although the max-min fairness has some optimality properties (Pareto optimality), it has been argued that it favors too much long 1 connections and does not make efficient use of available bandwidth. In contrast, the concept of proportional fairness (of the throughput assignment) has been proposed by Kelly [17, 18] . It gives rise to a more efficient solution in terms of network resources by providing more resources to shorter 1 1 A very preliminary and shorter version of the fairness criterion was presented in the conference NPDPA [27] and preliminary numerical results using SDP programming appeared in [28] . We have applied in this paper the NBS approach for bandwidth allocation that is sensitive to the utilities of connections. We have studied some of the characteristics of these concepts, and showed that they are indeed more suitable for applications that have concave utility. We proposed a simple parametrization of the concavity of the utility function using quadratic functions. We finally proposed some computational approaches that allows us to handle large networks: a Lagrangian approach and a novel approach based on SDP.. The SDP approach has the advantage that it is simple to implement using any general SDP software. Furthermore additional conditions (for instance those linked to integer programming, or other telecommunication requests) can be introduced without requiring any study on the stability or the convergence of the algorithm. This is a clear improvement compared to many other specific methods, and in particular to the iterative ones that have been proposed for solving fairness problems.. Also, we considered a fairness approach that takes into account not just the assigned throughput of each connection but instead the utility that the assigned throughput represents. This type of fairness concept agrees with the game theoretic definition of fairness given by NBS and is an interesting generalization of the fairness criteria that have been used so far in the telecommunication context.

O B I O O B I 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 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 B 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 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 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 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 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 B O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O


Self-Invertible 2D Log-Gabor Wavelets Abstract. Orthogonal and biorthogonal wavelets became very popular image processing tools but exhibit major drawbacks, namely a poor resolution in orientation and the lack of translation invariance due to aliasing between subbands. Alternative multiresolution transforms which specifically solve these drawbacks have been proposed. These transforms are generally overcomplete and consequently offer large degrees of freedom in their design. At the same time their optimization gets a challenging task. We propose here the construction of log-Gabor wavelet transforms which allow exact reconstruction and strengthen the excellent mathematical properties of the Gabor filters. Two major improvements on the previous Gabor wavelet schemes are proposed: first the highest frequency bands are covered by narrowly localized oriented filters. Secondly, the set of filters cover uniformly the Fourier domain including the highest and lowest frequencies and thus exact reconstruction is achieved using the same filters in both the direct and the inverse transforms (which means that the transform is self-invertible). The present transform not only achieves important mathematical properties, it also follows as much as possible the knowledge on the receptive field properties of the simple cells of the Primary Visual Cortex (V1) and on the statistics of natural images. Compared to the state of the art, the log-Gabor wavelets show excellent ability to segregate the image information (e.g. the contrast edges) from spatially incoherent Gaussian noise by hard thresholding, and then to represent image features through a reduced set of large magnitude coefficients. Such characteristics make the transform a promising tool for processing natural images. After the development and rapid successes of the wavelet transforms in image processing, alternative multiresolutions have been proposed mainly for a better resolution in orientation and for avoiding aliasing effects. Last fifteen years oriented band-pass multiresolution transforms have arisen with increased importance thanks to the development of steerable pyramids (Simoncelli et al., 1992) , Gabor multiresolutions (Gross and Koch, 1995; Nestares et al., 1998; Ro et al., 2001) , complex-valued wavelets (Gross and Koch, 1995; Kingsbury, 2001; Portilla and Simoncelli, 2000) , curvelets (Starck et al., 2002) and contourlets (Do and Vetterli, 2005) , to name a few.. A Gabor function is a Gaussian multiplied by a complex exponential. Thus, in the Fourier domain, it is a 232 We proposed an overcomplete multiresolution scheme mimicking the receptive field properties of simple cortical cells and optimized for achieving exact reconstruction through carefully designed filters. The proposed log-Gabor wavelet transform is optimized by taking into account mathematical, biological vision and image statistic considerations. From the mathematical point of view, Gabor functions are optimally joint-localized in frequency and space, which makes them optimal functions to characterize signals. The log-Gabor wavelet transform is moreover self-invertible which has been shown important for preventing the appearance of artifacts. Concerning biological vision criteria, the log-Gabor filters mimic closely the receptive field of V1 simple cortical cells. The proximity to biological vision can help simultaneously for choosing adequate transform parameters, for limiting the saliency of the artifacts and for further developing the biological models. And third, in relation with statistics of natural images, the transform filters have similar shape as the independent components learned from natural images, which support the proposed log-Gabor wavelets as an adequate scheme for matching natural image features.. The transform showed excellent results for segregating the signal from the noise by hard thresholding. The comparison with other methods (orthogonal wavelets, undecimated wavelets and steerable pyramids) showed an overall better performance of the proposed log-Gabor wavelet technique both in terms of the mathematical error and perceptual quality. The transform confirms then to be an adequate tool for representing features of natural images and to segregate them from incoherent noise.. Among further developments, a whole image denoising application could be set up by implementing a dedicated threshold determination method which would take into account the relationships between neighboring coefficients as proposed e.g. in ; Portilla et al. (2003) . Many other applications can also be derived since the ability of coding image features through a reduced set of large transform coefficients makes the transformation suitable for many applications such as image fusion or feature extraction. For image compression but also for general applications the redundancy induced by the overcompleteness could be recovered by deploying sparse approximation algorithms (Perrinet, 2004; Fischer et al., in press ). Let's consider a n × n square image x of N = n 2 pixels. The Gabor wavelets W consist in filtering the input image x ∈ R N by a set of filters (G r ) r ∈ . The bandpass, high-pass and low-pass filters are described respectively in Sections 2.1, 2.2 and 2.3. Direct and inverse transforms are defined in Sections 2.4 and 2.5, respectively. Section 2.6 describes the downsampling method and Section 2.7 deals with the matrix notation. Methods for obtaining exact reconstruction are described in Section 2.8.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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


Backbone Guided Tabu Search for Solving the UBQP Problem Abstract We propose a backbone-guided tabu search (BGTS) algorithm for the Unconstrained Binary Quadratic Programming (UBQP) problem that alternates between two phases: (1) a basic tabu search procedure to optimize the objective function as far as possible; (2) a strategy using the TS notion of strongly determined variables to alternately fix and free backbone components of the solutions which are estimated likely to share values in common with an optimal solution. Experimental results show that the proposed method is capable of finding the best-known solutions for 21 large random instances with 3000 to 7000 variables and boosts the performance of the basic TS in terms of both solution quality and computational efficiency. The unconstrained binary quadratic programming problem, denoted by UBQP, can be formulated as follows:. where [q ij ] is an a n by n matrix of constants and x is an n-vector of binary (zero-one) variables, i.e., x i ∈ {0, 1}, i = 1, . . . , n.. In addition to its theoretical significance as a canonical NP-hard problem (Garey and Johnson (1979) ), the UBQP is notable for its ability to formulate a wide range of important problems, including those from computer aided design (Krarup and Pruzan (1978) ), social psychology (Harary (1953) ), financial analysis (McBride and Yormark (1980) ), machine scheduling (Alidaee et al (1994) ), cellular radio channel allocation (Chardaire and Sutter (1994) ), the vertex coloring problem (Kochenberger et al (2005) ), the set packing problem ), the set-partitioning problem ) and the linear ordering problem (Lewis et al (2009) ).. The application potential of UBQP is much greater than might be imagined, due to the ability to incorporate quadratic infeasibility constraints into the objective function in an explicit manner. This re-formulation process enables UBQP to serve as a common model for a wide range of combinatorial optimization problems. A review of additional applications and the reformulation procedures can be found in Kochenberger et al (2004) demonstrating the utility of UBQP for a variety of applications.. Considering the relevance of the UBQP across a broad spectrum of problems, a number of exact algorithms have been proposed in the literature. The typical approaches include those of Boros et al (2008) ; Horst et al (2000) , using branch and bound or branch and cut. However, due to the high computational complexity of UBQP, a variety of problems arising from practical applications, except those problems of sizes less than n = 100, have proved to be intractable for these exact approaches.. For larger instances, exact methods become prohibitively expensive to apply. By contrast, variants of metaheuristic algorithms have been extensively studied to solve UBQP and shown to be effective to find high-quality solutions in a reasonable time. Some representative metaheuristic methods include local search (Boros et al (2007) ); Simulated Annealing (Katayama and Narihisa (2001) ); adaptive memory approaches based on Tabu Search (Glover et al (1998 ; Palubeckis (2004 Palubeckis ( , 2006 ); population-based approaches such as Evolutionary Algorithms (Borgulya (2005) ), Scatter Search (Amini et al (1999) ) and Memetic Algorithms ; Merz and Katayama (2004) ); and specially designed one-pass heuristics (Glover et al (2002) ).. Among these procedures, Tabu Search (TS) represents one of the most successful approaches. One of the first adaptive memory TS algorithms for the UBQP (Glover et al (1998) ), for instance, has been used to solve applications arising in a wide variety of settings. Recently, several restart TS strategies have been explored in Palubeckis (2004) which obtained good results on large problem instances. A sequel further improves these results by an iterated tabu search algorithm (Palubeckis (2006) ). Furthermore, a recent diversificationdriven tabu search method ) has been demonstrated to be effective on a wide range of random UBQP problem instances.. The remaining part of the paper is organized as follows. In Section 2, we present the ingredients of our backbone-guided tabu search (BGTS) algorithm which includes a basic tabu search procedure and associated mechanisms for the fixing and freeing variables. Section 3 is dedicated to computational results. Section 4 investigates several essential components of the BGTS algorithm and concluding remarks are given in Section 5. The backbone-guided tabu search algorithm for the UBQP problem alternates between a basic TS procedure and a variable fixing/freeing phase guided by backbone information based on identifying strongly determined variables. While the TS phase ensures the exploitation of a search space, the variable fixing (freeing) phase dynamically enlarges (reduces) the backbone of assigned values that launches the TS exploration.. To choose the variables to be fixed or freed, the proposed method applies a dedicated scoring mechanism to variables of reference solutions. A geometric ratio strategy is incorporated to determine the appropriate number of backbone variables to be fixed. In total, two versions of the BGTS algorithm are investigated that embody different possibilities for building reference solution.. Using a set of 21 well-known difficult instances with 3000 to 7000 variables, we show that the BGTS algorithm obtains highly competitive outcomes in comparison with the previous best known results from the literature. A direct comparison between BGTS and the underlying TS procedure confirms that incorporating backbone information boosts the performance of the basic TS algorithm.. This research establishes the merit of our backbone guided search for solving the UBQP problem. Future studies can enhance the basic strategy in two key ways by drawing further on the ideas underlying the original proposal for exploiting strongly determined variables: (i) including consideration of consistent variables by reference to the frequency that variables receive assigned values in high quality solutions, and (ii) compelling variables to remain fixed at their selected values for some period during the improving phase (mediated here by tabu search) instead of simply using these values to launch the improving phase.

O O B I O O O B O O O O O O B I O O O O O O O O B 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 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 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 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 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 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 B 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 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 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 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 B I 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 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 B 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 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 O O O B 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 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 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 B I O O O O O O O O O O O


Automatic Tuning of Two-Level Caches to Embedded Applications Abstract The power consumed by the memory hierarchy of a microprocessor can contribute to as much as 50% of the total microprocessor system power [16] . Such a large contributor t o power is a good candidate for optimizations.. Tuning cache parameters to the needs of a particular application can save energy. Every application has different cache requirements that cannot be efficiently satisfied with one predetermined cache configuration. Miss rates or energy consumption may be unnecessarily high if a cache configuration does not fit the application. For instance, the cache size should reflect the working set of the application. If the cache is too large, the energy required to fetch from the larger cache may be unnecessarily high. If the cache is too small, excess energy may be wasted due to thrashing. Furthermore, an application may have a large or small amount of spatial locality, favoring either a large or small line size, respectively. Excess energy may be consumed during stall cycles if the line size is too small, but energy may be wasted fetching unused information from main memory if the line size is too large. Additionally, cache associativity should reflect the application's temporal locality. The diversity among applications leads to very different cache requirements for different applications [21] .. New technologies enable tuning of cache parameters to the needs of an application. Core-based processors allow a designer to choose a particular cache configuration [2] [3] [4] [13] [18] and there are instances of processor designs that allow their caches to be configured during system reset or even during runtime [1] [12] [21] .. Finding the best cache configuration for an application i s difficult. A single-level cache may have dozens of different cache configurations, and interdependent multi-level caches lead to thousands of different cache configurations. The configuration space gets even larger if other dependent configurable architecture parameters are considered, such as bus and processor parameters. Exhaustively searching the space is too slow even if fully automated. However, with possible average energy savings of over 40% for a configurable memory hierarchy [5] [21], we believe that cache configuration is worth the effort.. Cache configuration can either be done at design time or in-system during runtime. If cache configuration is done at design time, a simulation method is typically used to search the design space. Simulation-based exploration is particularly costly in terms of time since searching even one configuration may take hours to simulate. Using an exploration heuristic can reduce the number of explored configurations. However, for the simulation to be accurate, the system must be well modeled with realistic input stimuli. Often, setting up a realistic simulation environment may be more difficult than designing the system itself.. The alternative to cache configuration at design time i s cache configuration in-system during runtime. Runtime configuration is accomplished with a configurable cache and hardware to drive the cache exploration. While exploration time is greatly reduced due to real-time execution, the exploration itself can interfere with system behavior of many embedded systems. This interference may not be tolerated i n real-time systems with strict timing requirements. For insystem exploration to be useful, a relatively non-intrusive heuristic is needed where accuracy may be traded off for reduced intrusion or reduced power during exploration.. Whether cache exploration is done during design time or runtime, an exhaustive approach may not be feasible. Good heuristics based on typical cache behavior can find near optimal results by searching a fraction of the exploration space. This is possible because of the highly predictable nature of cache and application behavior. Caches are designed to exploit the temporal and spatial locality of applications and good heuristics can exploit this behavior to converge on an optimal cache configuration quickly.. A popular system optimization that greatly affects an application's cache behavior i s hardware/software partitioning. Current methods of hardware/software partitioning discover the frequent loops of an application and convert these frequent loops into hardware running on a field programmable gate array (FPGA) for reduced energy consumption and improved performance (e.g., [17] ). The frequent loops can amount to as much as 90% or more of the execution time. Removing these frequent loops from software alters cache behavior greatly by removing spatial and temporal locality from the application. An application's locality comes mainly from highly iterated loops, however these loops are now implemented in hardware. In all hardware/software platforms, the implementation of frequent loops in the FPGA affects instruction cache behavior because the instructions associated with these loops are no longer fetched and stored i n the instruction cache. The data cache will also be affected i n systems where the FPGA does not access the cache structures. We observed that some heuristics that worked well for nonpartitioned systems, did not work well after the system i s partitioned because the removal of locality from the application by hardware/software partitioning causes cache behavior to become unpredictable. We therefore consider both non-partitioned and partitioned systems in our cache configuration method.. In this paper, we discuss related work on automated cache configuration both during design time and in-system during runtime. We describe the two-level cache tuner, or TCaT -a heuristic for automatically searching a configurable two-level cache hierarchy with configurable size, associativity, and line size. The basic idea of the TCaT is to interlace the exploration of the level one and level two caches, exploring the most important cache parameters first. The TCaT performs well o n non-partitioned systems, and also improves greatly upon previous heuristics in the presence of hardware/software partitioning. The TCaT is targeted for design time exploration and may be applied to a simulation environment or a hardwarebased prototyping environment. In this paper, we presented an automated method for tuning two level caches to embedded applications for reduced energy consumption. On average, the TCaT finds a cache configuration that consumes only 1% more energy than the optimal cache configuration for non-hardware/software partitioned applications, and only 1.4% more energy for hardware/software partitioned applications. The TCaT searches only 6.5% of the design space, translating to a 15 times speedup in exploration time. The TCaT achieves an average energy savings of 53% for a non-hardware/software partitioned system and 55% for a hardware/software partitioned system, with improved performance. We showed the integrity of the TCaT across multiple system configurations. Future work includes extending the TCaT to explore a unified level two cache, recompiling an application after the optimal cache configuration is determined, and performing the heuristic dynamically and transparently during runtime. Many methods exist for configuring a single level of cache to a particular application during design time and in-system during runtime. Cache configuration can be specified during design time for many commercial soft cores from MIPS [13], ARM [4] , and Arc [3] and for environments such as Tensilica's Xtensa processor generator [18] and Altera's Nios embedded processor system [2] .. Configurable cache hardware also exists to assist in cache configuration. Motorola's M*CORE [12] processors offer way configuration which allows the ways of a unified data/instruction cache to individually be specified as either data or instruction ways. Additionally, ways may be shut down entirely. Way shut-down is further explored by Albonesi [1] t o reduce dynamic power by an average of 40%. An adaptive cache line size methodology is proposed by Veidenbaum et al. [19] to reduce memory traffic by more than 50%. Zhang et al. [21] proposes a methodology called way-concatenation where a cache can be configured by software to either be directmapped, 2-or 4-way set associative achieving average energy savings of 40% compared to a conventional 4-way set associative cache.. Exhaustive search methods may be used to find optimal cache configurations, but the time required for an exhaustive search is often prohibitive. Several tools do exist for assisting designers in tuning a single level of cache. Platune [8] is a framework for tuning configurable system-on-a-chip (SOC) platforms. Platune offers many configurable parameters and prunes the search space by isolating interdependent parameters from independent parameters. However, the level one cache parameters, being dependent, are explored exhaustively.. Heuristic methods exist to prune the search space of the configurable cache. Palesi et al. [14] improves upon the exhaustive search used in Platune by using a genetic algorithm to produce comparable results in less time. Zhang et al. [20] presents a cache configuration exploration methodology for prototyping platforms, wherein a cache exploration component searches configurations in order of their impact on energy, and produces a list of Pareto-optimal points representing reasonable tradeoffs in energy and performance. Ghosh et al. [9] uses an analytical model t o efficiently explore cache size and associativity and directly computes a cache configuration to meet the designers' performance constraints.. Few methods exist for tuning multiple levels of a cache hierarchy. Balasubramonian et al. [5] proposes a hardwarebased cache configuration management algorithm to improve memory hierarchy performance while considering energy consumption. An average reduction in memory hierarchy energy of 43% can be achieved with a configurable level two and level three cache hierarchy coupled with a conventional level one cache.. To the best of our knowledge, no previous work has explored the integrity of cache tuning in the presence of hardware/software partitioning like we do, yet such partitioning is becoming increasingly common in embedded systems, especially with the advent of single-chip microprocessor/FPGA platforms.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B I O O O O O O O O


On the support designs of extremal binary doubly even self-dual codes Abstract. Let D be the support design of the minimum weight of an extremal binary doubly even self-dual [24m, 12m, 4m + 4] code. In this note, we consider the case when D becomes a t-design with t ≥ 6. Let C be an extremal binary doubly even self-dual [24m, 12m, 4m + 4] code. Known examples of C are the extended Golay code G 24 and the extended quadratic residue code of length 48. It was shown by Zhang [10] that C does not exist if m ≥ 154. The support of a codeword c = (c 1 , . . . , c 24m ) ∈ C, c i ∈ F 2 is the set of indices of its nonzero coordinates: supp(c) = {i : c i = 0}. The support design of C for a given nonzero weight w is the design for which the points are the 24m coordinate indices, and the blocks are the supports of all codewords of weight w. Let D w be the support design of C for any w ≡ 0 (mod 4) with 4m + 4 ≤ w ≤ 24m − (4m + 4). Then it is known from the Assmus-Mattson theorem [1] that D w becomes a 5-design.. One of the most interesting questions around the Assmus-Mattson theorem is the following: "Can any D w become a 6-design?" Note that no 6-design has yet been obtained by applying the Assmus-Mattson theorem (see [2] ).. In this note, we consider the support design D(= D 4m+4 ) of the minimum weight of C. By the Assmus-Mattson theorem, D is a 5-(24m, 4m+4, 5m−2 m−1 ) design. Suppose that D is a t-(24m, 4m+4, λ t ) design with t ≥ 6. It is easily seen that λ t = 5m−2 m−1. is a nonnegative integer. It is known that if D is a 6-design, then it is a 7-design by a strengthening of the Assmus-Mattson theorem [4] . In [ [2] that if D is an 8-design, then m must be in the set {8, 42, 63, 75, 130}, and D is never a 9-design.. In this note, we extend a method used in [2] . First, we will prepare it in Section 2. In Section 3, we consider a self-orthogonal 7-design which has parameters equal to those of D. Then we will show that there is no self-orthogonal 7-design for some m. For the remainder m, we consider the support 7-and 8-design of C in Section 4. In summary, our main result is the following theorem.

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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Reliable scalable symbolic computation: The design of SymGridPar2 Symbolic computation is an important area of both Mathematics and Computer Science, with many large computations that would benefit from parallel execution. Symbolic computations are, however, challenging to parallelise as they have complex data and control structures, and both dynamic and highly irregular parallelism. The SymGridPar framework has been developed to address these challenges on small-scale parallel architectures. However the multicore revolution means that the number of cores and the number of failures are growing exponentially, and that the communication topology is becoming increasingly complex. Hence an improved parallel symbolic computation framework is required.This paper presents the design and initial evaluation of SymGridPar2 (SGP2), a successor to SymGridPar that is designed to provide scalability onto 10 6 cores, and hence also provide fault tolerance. We present the SGP2 design goals, principles and architecture. We describe how scalability is achieved using layering and by allowing the programmer to control task placement. We outline how fault tolerance is provided by supervising remote computations, and outline higher-level fault tolerance abstractions.We describe the SGP2 implementation status and development plans. We report the scalability and efficiency on approximately 2000 cores, and investigate the overheads of tolerating faults for simple symbolic computations. Symbolic computation has underpinned key advances in Mathematics and Computer Science, for example in number theory, cryptography, and coding theory. Many symbolic problems are large, and the algorithms often exhibit a high degree of parallelism. However, parallelising symbolic computations poses challenges, as symbolic algorithms tend to employ complex data and control structures. Moreover, the parallelism is often both dynamically generated and highly irregular, e. g., the number and sizes of subtasks 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. SAC'13 March 18-22, 2013 , Coimbra, Portugal. Copyright 2013 ACM 978-1-4503-1656-9/13/03 ...$15.00. may vary by several orders of magnitude. The SCIEnce project developed SymGridPar [15] as a standard framework for executing symbolic computations on small-scale parallel architectures (Section 2). SymGridPar uses OpenMath [22] as a lingua franca for communicating mathematical data structures, and dynamic load management for handling dynamic and irregular parallelism.. SymGridPar is not, however, designed for parallel architectures with large numbers of cores. The multicore revolution is driving the number of cores along an exponential curve, but interconnection technology does not scale that fast. Hence many anticipate that processor architectures will have ever deeper memory hierarchies, with memory access latencies varying by several orders of magnitude. The expectation is similar for large scale computing systems, where an increasing number of cores will lead to deeper interconnection networks, with relatively high communication latency between distant cores. Related to the exponential growth in the number of cores is a predicted exponential growth in core failures, as core reliability will remain constant, at best. These trends exacerbate the challenges of exploiting large scale architectures because they require the programmer to pay attention to locality and to guard against failures.. This paper presents the design and initial evaluation of SymGridPar2 (SGP2), a successor to SymGridPar that is designed to scale onto 10 6 cores by providing the programmer with high-level abstractions for locality control and fault tolerance. SGP2 is being developed as part of the UK EPSRC HPC-GAP project, which aims to scale the GAP computer algebra system to large scale clusters and HPC architectures.. The remainder of the paper is organised as follows. Section 2 surveys related work on parallel symbolic computation. Section 3 presents the SGP2 design goals, principles and architecture. A key implementation design decision is to coordinate the parallel computations in HdpH, a scalable fault tolerant domain specific language (Section 3.2).. We describe how scalability is achieved using layering and by allowing the programmer to control task placement on a distancebased abstraction of the communication topology of large architectures (Section 4). We outline how fault tolerance is provided by supervising remote computations, and sketch higher-level fault tolerance abstractions like supervised workpools and supervised skeletons (Section 5).. SGP2 is still under development, and we outline the current implementation and give preliminary scalability and fault tolerance results. Specifically, we investigate the scalability and efficiency of a layered task placement strategy on approximately 2000 cores of an HPC architecture (Section 6.2), and we evaluate the overheads of a fault tolerant skeleton on a Beowulf cluster, both in the presence and absence of faults (Section 6.3). We have presented the design and initial evaluation of SymGridPar2 (SGP2), a framework for executing symbolic computations on large (10 6 core) architectures. We have outlined the SGP2 design goals, principles and architecture, including the key decision to coordinate the parallel computations in the HdpH domain specific language (Section 3). We have described how scalability is achieved using layering and by allowing the programmer to control task placement (Section 4). We have outlined how fault tolerance is provided by supervising remote computations, and shown how higher-level fault tolerance abstractions can be constructed (Section 5). We have outlined the current implementation and report encouraging scalability and fault tolerance results on architectures with up to 2000 cores (Section 6).. The implementation of SGP2 is ongoing, and Section 6.1 discusses our plans to complete the CAG interface to GAP, to better integrate the fault tolerance and work distribution, and to improve locality control. We are simultaneously developing an HdpH profiler to aid programmers. Alongside the implementation effort we also plan to investigate SGP2's effectiveness on challenge symbolic computations. One such challenge application, to be developed within HPC-GAP, will involve solving large "standard base" problems that arise in representation theory.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 B I 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


Linearized Motion Estimation for Articulated Planes Abstract-In this paper, we describe the explicit application of articulation constraints for estimating the motion of a system of articulated planes. We relate articulations to the relative homography between planes and show that these articulations translate into linearized equality constraints on a linear least-squares system, which can be solved efficiently using a Karush-Kuhn-Tucker system. The articulation constraints can be applied for both gradient-based and feature-based motion estimation algorithms and to illustrate this, we describe a gradient-based motion estimation algorithm for an affine camera and a feature-based motion estimation algorithm for a projective camera that explicitly enforces articulation constraints. We show that explicit application of articulation constraints leads to numerically stable estimates of motion. The simultaneous computation of motion estimates for all of the articulated planes in a scene allows us to handle scene areas where there is limited texture information and areas that leave the field of view. Our results demonstrate the wide applicability of the algorithm in a variety of challenging real-world cases such as human body tracking, motion estimation of rigid, piecewise planar scenes, and motion estimation of triangulated meshes. T HE principal challenge in developing general purpose motion estimation algorithms is the wide variety of rigid and nonrigid motions encountered in the real world. Consider the three examples shown in Fig. 1 . In Fig. 1a , the motion of a human is shown where each limb's motion is dependent on the motion of its connected limbs. The motion of a rigid scene, as shown in Fig. 1b , is induced by the confluence of the structure of the scene and the motion of the camera. Finally, the motion of a nonrigid object, such as the cloth in Fig. 1c , depends on the elasticity of the object and the force acting on it. The problem of motion estimation for varied objects such as these has resulted in the proposal of a large number of algorithms, for instance, [1] , [2] , [3] , [4] , [5] , [6] , [7] , [8] , [9] . In particular, due to their wide applicability, layered motion models have gained significant traction over the years [10] , [11] , [12] . However, existing layers-based motion algorithms do not exploit a key constraint that exists in the motion of a large number of real scenes.. We demonstrate that articulation constraints are important in many common scenarios for motion estimation and yield useful constraints when taken into account explicitly. Articulation constraints posit the existence of points where the motion of a pair of planes is equal. For instance, even though a human body can move in a variety of complex ways, one constraint that must be followed is that the motion of the upper and lower arm must move the elbow to the same position (Fig. 1a) . Rigid, piecewise planar scenes also observe this constraint because the motion of points on the line of intersection of any two planes is the same for the two planes (Fig. 1b) . For nonrigid surfaces, a triangulated mesh is a popular representation. Each vertex shared by multiple triangles must also move to the same position under the motion of all of those triangles and can therefore be considered an articulation (Fig. 1c) .. In this paper, we study the relationship between articulations and the homographies induced by articulated planes (Section 3). Unlike previous constraints [3] , [9] , we define exact equality constraints on the motion model of the articulated planes for an affine camera (Section 4.1). Articulation constraints can be used for motion estimation in both gradient-based and feature-based motion estimation algorithms. As an illustration, for an affine camera, we describe the application of articulation constraints in a gradient-based motion estimation algorithm that solves a linear equality constrained least-squares system for estimating motion of multiple planes simultaneously (Section 4.2). For a projective camera, we describe the application of linearized articulation constraints on the motion model (Section 5.1). For feature-based motion estimation algorithms, we show the application of articulation constraints for a projective camera that minimizes the linearized leastsquares transfer error between two images (Section 5.2). Our results demonstrate that the incorporation of explicit articulation constraints in motion estimation algorithms results in accurate estimation of motion in a wide variety of settings, such as human body tracking, estimating motion of rigid, piecewise planar scenes, and estimating motion of triangulated meshes (Section 6). In this paper, we have presented the explicit application of articulation constraints to motion estimation algorithms for an affine and a projective camera to recover a variety of real-world motions. The motion estimation algorithm constructs an overconstrained system of linear equations subject to linear, exact equality constraints in the case of an affine camera, and linearized articulation constraints are used in the case of a projective camera, to solve for the motion of multiple layers simultaneously. Since we solve for the motion of all layers simultaneously, therefore, the entire set of constraints bears on the motion parameters for all the entities. In some cases, this enables the algorithm to track parts of the object even if they have left the field of view and when there is little gradient information available for that plane. During experimentation, we noted two primary sources of error. The first source of error is self-occlusion. For cases such as the human body, this is an important consideration where self-occlusion is a fairly common phenomenon. The second type of error occurs in nonrigid surface tracking, when the resolution of the model is unable to represent the underlying surface motion. This raises an important open question of what is an appropriate triangulation of a nonrigid surface and whether the mesh should be constructed out of feature detectors or uniformly or perhaps affected by the underlying motion of the nonrigid surface.. The value of our framework lies in its ability to compute motion estimates for systems of articulated planes without the use of any application-dependent regularization parameters or smoothness terms. This reduces arbitrariness and points to broad applicability of the framework to a variety of real-world motion estimation tasks as demonstrated in this paper. We do not require the inclusion of any physics-based prior or data prior for motion estimation, even though they may be added, but perhaps with the loss of the linear formulation of the presented motion estimation algorithm. Investigating inclusion of such shape and/or motion priors within a linear framework for stable and efficient motion estimation remains as a source of future research. We have conducted several experiments to quantitatively and qualitatively evaluate our motion estimation algorithm for a wide variety of motions. In particular, we evaluated our algorithms on the specific tasks of estimating the motion of the upper body of a human, estimating motion of rigid, piecewise planar scenes with low texture planes, and finally, on estimating the motion of nonrigid surfaces with low texture and large deformation. Motion estimation from image sequences is a core computer vision task. The earliest motion estimation algorithms were pixel-based approaches that used first order image derivatives and were based on image translation [1] , [13] , [14] , [15] , [16] . Pixel-based methods are descriptive; however, they can be unstable due to the corruption of image intensity from real-world effects such as sensor noise during the image acquisition process, aliasing, and the "aperture problem." Region-based methods, on the other hand, provide an alternative motion estimation approach to mitigate these effects [17] , [18] , [19] , [20] . Motion estimation according to region-based approaches has been defined as yielding the best fit between image regions at different times [21] . The match score between the regions at different times can be evaluated according to similarity measures such as normalized correlation or Sum of Squared Differences (SSD). Consequently, region-based approaches are stable but less descriptive than pixel-based approaches since they operate at region granularity and not pixel granularity. The interested reader is directed to excellent surveys on gradient-based optical flow approaches by Fleet and Weiss [22] and also to a survey by Beauchemin and Barron [21] on other optical flow approaches.. The need to balance model descriptiveness and parameter estimation stability led to the development of the piecewise planar framework for motion estimation by Wang and Adelson in [10] . The layer framework models an image as a collection of independently moving planes that compete for the ownership of image pixels. The layers are ordered by depth and each has an intensity and an alpha map that is used in compositing to explain the underlying image. Sawhney and Ayers [23] introduced a maximum likelihood estimation algorithm for estimating the parameters of the motion layers and their ownership probabilities. The layer framework has been successfully applied to a wide variety of real-world applications [24] , [25] , [26] .. The traditional layer framework treats each plane in the scene as moving independently. Several methods have been used to enforce the dependencies that exist between moving planes in rigid scenes such as [12] , [27] . For articulate object motion, such as human motion, Ju et al. [9] , [28] defined articulations to capture relationships between the motion of different planes. Ju et al. [9] introduced "Cardboard People" for modeling the human body as a set of connected planar patches or layers. Motion was estimated for all layers simultaneously using gradient-based motion estimation where articulations provide soft constraints on the motion. The motion of the connected layers is enforced to be spatially constrained and a regularization parameter is used to weigh the articulation constraints relative to gradient-based motion estimation. The use of the regularization parameter, however, introduces arbitrariness in the motion estimation algorithm since there is no one consistent value that will work across all applications. Ju et al. in [28] extended the cardboard people model to articulated motion estimation for multilayer framework. The articulated layer models have subsequently been used in a number of papers [29] , [30] , [31] , [32] , [33] , and articulation constraints, including constraints on angular velocity and acceleration, have been used for 3D model estimation as well [34] , [35] , [36] , [37] , [38] , [39] , [40] . Bregler et al. in [34] , [35] demonstrate recovery of 3D articulated motion using twists and exponential maps. In their formulation, twists are modeled as revolute joints anchored at articulations that are then propagated to the next time step under the assumption of isotropic Gaussian noise. Ruf and Horaud in [41] introduced projective formulations for revolute and prismatic joints in the context of an articulate chain with a fixed base. Articulated motion for the ith joint is estimated in terms of all the ði À 1Þ joints using twists and exponential maps. Sigal et al. in [3] , [42] used conditional probability distributions, which can be interpreted as soft articulation constraints, to model the relationships between body joints. Demirdjian et al. in [43] imposed kinematic constraints using a linear manifold estimated from the previous body pose. Nonlinear kinematic constraints were then enforced using a learning-based approach via a support vector classifier.. The articulated layer models described above are not descriptive enough to handle nonrigid surface motion. This led to the introduction of specialized models for nonrigid surface motion such as the Thin-Plate Spline (TPS) model [44] and triangulated meshes [5] , [45] . The principal advantage of using triangulated meshes is that sharp surface creases can be handled by triangulated meshes, but require additional mechanisms with TPS. Sclaroff and Isidoro [46] employed texture-mapped triangulated meshes, active blobs, for tracking deformable shapes in images. Active blobs, similar in spirit to the TPS model, solve an energy minimization problem with an applicationdependent regularization parameter to perform nonrigid tracking. Bartoli and Zisserman introduced a direct motion estimation algorithm employing Radial Basis Functions to model nonrigid image deformations [47] . A subsequent feature-driven nonrigid registration method was developed by Bellile et al. [48] . The idea of pairwise nonrigid registration of images was extended in a paper by Cootes et al. in [49] , where they developed a framework for registering a group of images together using a set of nonlinear diffeomorphic warps employing a regularizing parameter to penalize convoluted deformations. Over the years, many physics-based methods have been introduced for recovering shape and/or tracking of nonrigid surfaces, such as [50] , [51] , [52] , [53] , [54] , [55] . A key aspect of physics-based modeling requires making assumptions about the underlying nonlinear physics of nonrigid surface deformations; these assumptions are hard to justify and are seldom accurate in practice. This has led to the introduction of data-driven priors for modeling nonrigid surface deformations. Recent work in this area includes [56] , [57] , [58] . However, a key shortcoming of data-driven approaches is that they require large training data sets, which may not be available for nonrigid surfaces.. In contrast with the previous work on articulated and nonrigid motion estimation, which imposes articulation constraints as a soft regularizer or as a "smoothness" term, we introduce the idea of imposing the articulation constraints as exact equality constraints on 2D motion estimation. The proposed constraints facilitate models of motion that are both descriptive and numerically stable to estimate. The articulation constraints can be applied to both gradientbased and feature-based motion estimation algorithms and, as an example, we have incorporated them in a gradientbased motion estimation algorithm for an affine camera and in a feature-based motion estimation algorithm for a projective camera. We show results on several real-world tasks of estimating motion of humans, rigid planar scenes, and nonrigid surfaces. In addition, for the nonrigid surfaces, we do not require any physics-based prior, i.e., assumptions about the mechanical principles governing the motion of nonrigid surfaces [52] or any data prior for nonrigid surface registration [58] . The estimation algorithms proposed in this paper have been demonstrated to run upward of 90 Hz on a commercial off the shelf (COTS) machine.

O B 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 B O O O O O O O O O O B 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 B 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 B B O O O O O O O B 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 B O O O O O O O O B 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 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 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 B 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 B 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 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 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 B O O O O O O O O O O O O O O O O O B 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 B 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 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 B O O O O O O O B O O O O O O O O O O B O B 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 B 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 B O O O O O O O O O B 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 B 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 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 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 B 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 B 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 B 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 B O O O O O O O O O O O O O O B O O O O O O O O O B 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 B 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 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 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 B O O O B 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 B O O O O O O O O B 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 B 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 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 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 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 B 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 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 B O O O O O O B 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 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 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 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 B 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 B O O O O O O O O O O O O O B 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 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 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


Mobility, digital libraries and a rural indian village Millions of people in developed countries routinely create and share digital content; but what about the billions of others in on the wrong side of what has been called the 'global digital divide'? This paper considers three mobile platforms to illustrate their potential in enabling rural Indian villagers to make and share digital stories. We describe our experiences in creating prototypes using mobile phones; high-end media-players; and, paper. Interaction designs are discussed along with findings from various trials within the village and elsewhere. Our approach has been to develop prototypes that can work together in an integrated fashion so that content can flow freely and in interesting ways through the village. While our work has particular relevance to those users in emerging world contexts, we see it also informing needs and practices in the developed world for user-generated content. User generated content creation and consumption is now a pervasive activity. Millions of people regularly share photos, videos, other digital material they've encountered and reflections on their daily life experiences. Mobile devices are increasingly important as tools to support these diverse activities through technological improvements -such as higher storage capacities and better network connectivity -and interaction features -such as better media editors and facilities to automatically suggest content tags.. Over the past two years, the Storybank project team has been considering appropriate forms of participation in these activities for people currently excluded from this user-generated content revolution. We have been working in a co-design, highly participative way with a rural Indian community at Budikote. The village site is a two-hour drive from the bustle of Bangalore but feels decades away from that burgeoning city's high-tech imperative. Water comes from a well and electricity supplies are unreliable.. Mobile phone technology has been an important component of our approach. There has been a phenomenal uptake in their use in rural India as in other emerging world contexts. Users can see clear benefits in owning one that range from economic advantage (e.g. being able to organise itinerant working lives more effectively) to increased status. At the beginning of 2007 there was no cell-tower coverage in Buidkote and, as a consequence, very few mobile phones in the village. In a field-trip in November 2007 we learnt that within ten months, 50% of families own a handset.. As we have explored the role of mobile phones in the village to gather and share stories, we have began to see the importance of designing for a greater degree of content mobility than is currently accommodated in the sophisticated, developed world systems so many are already using. Although we use mobiles to 'upload' and 'download' from a digital library server, the server is local to the village and has a physical, tangible form (a touch screen display at the village community centre). Further, we aim to see content flowing in a highly decentralised way through the village via mobile phones and other mobility platforms including low-tech ones such as paper.. While our work has particular importance for the billions of users on the wrong side of what has been called the 'digital divide' we see it also informing emerging needs and practices in the so-called 'developed' world for user generated content. Mobile phones will be just one part of what will be a diverse information ecology 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. including TV-like devices, table-top computers, public displays and conventional media.. In this paper, we discuss three mobility platforms being considered in the project -a media phone (Nokia N80); a mediaserver (an adapted iPod); and, a low-tech medium (paper storyfliers). Our purpose is to motivate further discussion on such ecologies of interaction devices to support content mobility. We report on interaction designs and reflections from a range of usertrials we have performed. For billions of people in developing world contexts, the experience of creating and sharing digital content is unlikely to be predominantly mediated through conventional personal computers. Computers will continue to be community rather than personal technologies and mobile devices and services will play key roles. There are many challenges in providing effective interaction designs that accommodate contexts that include poor literacy and little prior exposure to computing technologies.. In this paper we have illustrated how three mobile platforms might work together with a shared community resource to give rural Indian villagers ways of creating and sharing digital stories. While we have studied the phone and situated display in extended trials, there is much still to be done to understand the full value and impact of the media-player and paper representations. We hope to be able to study these aspects and also to further to understand how the different components work together as an information and interaction ecology. These evaluations will undeniably open up further questions about appropriate technologies, interface designs and domains not just for our particular emerging world focus, but for the emerging world of pervasive user created media sharing. All three of the mobile platforms we are exploring have received attention from other researchers interested in content creation and sharing. A distinct aspect of our work is to consider all three and the situated display as an integrated portfolio for story making and viewing. mProducer is a tool to create and edit audio-visual content on a mobile phone [6] . However, the target audience are more technologically and textually literate than ours, and the forms of content possible less constrained. Turning to the digital library and mobility aspects, previous research has envisaged scenarios whereby a personal digital assistant (PDA) connects, using wireless networking, to a central digital library server (e.g., [3] ). The interfaces are web based, and the research involves tailoring it for a small screen (augmented, in some cases, with suitable data caching policies). There has been much interest in the integration of paper and digital media. Some of this work has addressed developed world contexts. For example in [4] paper forms and mobile phones were combined to support a microfinance venture.

B 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 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 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 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 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 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 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 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