TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 1. Preserving Privacy in Distributed Systems

Size: px
Start display at page:

Download "TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 1. Preserving Privacy in Distributed Systems"

Transcription

1 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS Presering Priay in Distributed Systems Yuriy Brun and Nenad Medidoi, Member, IEEE Computer Soiety Abstrat We present stile, a tehnique for distributing trust-needing omputation onto inseure networks, while proiding probabilisti guarantees that maliious agents that ompromise parts of the network annot learn priate data. With stile, we explore the fundamental ost of ahieing priay through data distribution and bound how muh less effiient a priay-presering system is than a non-priate one. While that ost is signifiant, we find that stile-based systems exeute orders of magnitude faster than homomorphi enryption systems, the alternatie promising approah to presering priay. This paper fouses speifially on NP-omplete problems and demonstrates how stile-based systems an sole important real-world problems, suh as protein folding, image reognition, and resoure alloation. We present the algorithms inoled in stile and formally proe that stile-based systems presere priay. We deelop a referene stile-based implementation and empirially ealuate it on seeral physial networks of arying sizes, inluding the globally distributed PlanetLab testbed. Our analysis demonstrates stile s salability and ability to handle arying network delay, as well as erifies that problems requiring priay-preseration an be soled using stile orders of magnitude faster than using today s state-of-the-art alternaties. INTRODUCTION RECENT adanes in Internet tehnology, suh as loud omputing, are foring the nature of omputation to eole. For example, users no longer run omputations on priate mahines or mahines of whih they hae physial awareness. The same eolution has taken plae for data storage: many users no longer keep data, suh as , on their mahines, but rather allow the loud to maintain and safeguard that data. This transformation has allowed ubiquitous aess to omputation and data with higher aailability and reliability than possible with personal mahines and loal serers. Simultaneously, howeer, this transformation has reated new hallenges in omputing. This paper addresses the hallenge of exeuting omputations on untrusted mahines in a trustworthy manner. The rapid eolution of how our systems exeute and how our data is handled has affeted the meanings of the terms seurity and priay, when referring to software systems. Seurity of a omputation used to mean the omputer running the omputation should be proteted from maliious ompromise, and priay of data used to imply unauthorized entities ould not gain aess to the data. Today, howeer, with omputations on priate data running on remote, unknown, potentially untrusted mahines, seurity should mean no omputer, inluding the one(s) running the omputation, may undetetably ompromise it and priay should imply no entity, inluding the one(s) exeuting the omputation, should gain aess to the data. Cyber systems, suh as louds, hae not yet embraed these new definitions, largely due to the intelletual hurdles and osts of deeloping systems that onform to these high standards. Under Reiew Y. Brun is with Computer Siene & Engineering, Uniersity of Washington, Seattle, WA, brun@s.washington.edu N. Medidoi is with the Computer Siene Department, Uniersity of Southern California, Los Angeles, California, neno@us.edu To proide a ommon example, many of us rely on Google to delier, maintain, properly repliate, et. our , but the notion that it may be possible to do that without Google haing aess to our seems unreasonable by today s praties. Instead, we rely on legal ontrats and promises to guarantee that Google will not abuse its priileged aess to our data. While this may be aeptable for ompanies with a lot to lose, suh as Google, the key question is whether we are willing to aept and trust smaller ompanies that may, for example, ompute our taxes, alulate suggestions for future purhases based on our past behaior, and mine our soial networks to introdue us to new friends, potential employees, and businesses that may benefit us Some of these series may be proided by nothing more than a desktop in someone s garage. Een when we only allow well-respeted and trusted ompanies to hae aess to our data and omputation, oer $5 billion are still lost eah year through identify theft perpetrated by either pretending to be a reputable ompany or simply relying on a user s trust in an unknown serie [34]. In this paper, we present stile, a tehnique that is based on a theoretial model of self-assembly and onsists of () a software arhiteture, (2) a set of algorithms, and (3) an implementation framework. stile allows building software systems that distribute a partiular large and important lass of omputations onto an untrusted network while proiding guarantees that the omputers that exeute the omputation annot learn the omputation s priate data. The work desribed in this paper has a speifi fous: it is aimed at large, distributed omputational systems soling NP-omplete problems, suh as protein folding and image reognition. Howeer, the ideas we present are a foundation for follow-on tehniques to priately distribute arbitrary omputations suh as and tax alulations. stile-based systems offer a trade-off between priay and effiieny. In other words, if a domain does not require priay, the same problems an be soled more effiieny using nonpriay-presering methods. There exists a fundamental ost of ahieing priay through data distribution. In this paper, we explore this ost and bound it by produing a referene

2 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 2 implementation and exeuting it on seeral distributed testbed networks. In some sense, we push the idea of distribution for priay to its limit, exposing no more than 2 bits of data to eah distributed unit of omputation. This implementation represents an upper bound on the ost and we enision that future work an improe this bound. In a number of ways, our tehnique is similar to homomorphi enryption [29]. Both proide probabilisti priay guarantees with exponential drop-offs in the likelihood of a maliious party ompromising priate data. Howeer, homomorphi enryption proides suh guarantees een when the omputation is performed by a single node, whereas stile is expliitly geared toward the distributed setting and requires that fewer than half of the network nodes are ompromised. The restrition that no adersary ontrols more than half of the network allows stile to outperform homomorphi enryption, exeuting omputations seeral orders of magnitude faster. In fat, while we hae deployed stile-based systems on real-world networks, to date, the effiieny issue has preented deployment of homomorphi enryption systems. Existing approahes to using the Internet s omputational resoures to perform NP-omplete omputations [], [22], [25], [32] hae resulted in ommerial enterprises deployed on oer a million mahines [36], [39], [49], proiding results to some of the largest omputational problems soled to date in the areas of artifiial intelligene [2], physis [38], and neurosiene [9]. Howeer, these approahes hae assumed reliable and trustworthy underlying networks, and employed only rudimentary fault-tolerane and priay safeguards, rendering them useful only () for rih ompanies that own their own, large, trustworthy lusters, and (2) in researh but not for wide-sale ommerial appliations. In ontrast, our approah brings the priay and seurity to the forefront and allows distribution of priate data onto untrusted mahines while presering the data s priay, with high probability. In Setion 6, we will, in detail, ompare stile to existing, well-known approahes, suh as BOINC [3], whih inludes SETI@home [36] and Folding@home [39], MapRedue [25], and homomorphi enryption [29]. While stile an ompete with existing tehniques in a number of dimensions, in this paper, we fous on salability and effiieny, while demonstrating stile s unique ability to guarantee a quantified, high probability of data priay. We hae preiously disussed stile s ability to handle faults and maliious attaks [7], [8], and do not fous on that dimension here. We formally analyze and proe that stile-based systems presere the priay of the data used in the omputation as long as no adersary ontrols more than one half of the publi network a highly unlikely ourrene. Furthermore, in order to demonstrate the omputational feasibility of our solution, stile inludes Mahjong, an implementation framework realized on top of a middleware platform. We deploy Mahjongbased systems on three distint networks, inluding the globally distributed PlanetLab testbed [43]. We also simulate a stile-based system s exeution on irtual networks of up to,, nodes. We empirially erify that the speed of stile omputation is proportional to the number of nodes and that network delay has little-to-no effet on that speed. Finally, we formally analyze the ommuniation and omputation osts indued by stile, proide bounds on their time requirements, and then use the Mahjong-based implementations to erify them empirially. The rest of this paper is strutured as follows: Setion 2 elaborates on the paper s sope by presenting seeral problems stile-based systems target. Setion 3 desribes stile, its arhitetural underpinnings, and the assoiated algorithms. Setion 4 disusses our Mahjong-based implementations and a set of experiments designed to demonstrate stile s feasibility. Setion 5 formally analyzes stile s priay-preseration. Setion 6 positions our work in terms of related researh. Finally, Setion 7 summarizes the paper. 2 TARGET PROBLEMS AND RESEARCH SCOPE To highlight our researh ontributions, in this setion we present two representatie problems our tehnique helps to sole and then summarize the sope of our work. 2. Target Problems Existing tehniques that use the Internet to sole omplex omputationally-intensie problems [25], [36], [39] do not take into aount that data inoled in these omputations may be sensitie and that network nodes may be maliious and may attempt to extrat priate data from the omputation. In fat, these tehniques make it triial to learn the nature of the omputation and the releant data. By ontrast, our primary objetie behind stile is priay-preseration: the inoled data must remain priate during and after the omputation. The following are two example senarios stile targets.. A pharmaeutial ompany has generated a series of andidate proteins for treating a partiular aner. The ompany needs to predit the 3-D struture of the proteins as they would fold within the human body but the proteins amino aid sequenes are aluable intelletual property and must remain priate. The protein-folding problem is NP-omplete [8], and thus for reasonably sized proteins, it ould take years on a single omputer, or een on small priate networks, to ompute the desired strutures. The ompany is unwilling to use existing approahes [39] to distribute the omputation on a publi network beause these approahes distribute the amino aid sequenes to all helping nodes. 2. Image reognition is at the heart of many adaned artifiial intelligene and seurity tasks. Mathing faes aptured by a amera to a database of known riminals allows automated intruder detetion and aids seurity at publi loations suh as airports and asinos. Howeer, faial reognition and image mathing problems are NP-omplete [35] and many people may enter the loation of interest at one. Further, any employed solution must exeute quikly to delier results in real-time, requiring far more resoures during peak times than off-peak times, making this problem ideally suited for loud omputing. In order to protet the identity and priay of the innoent indiiduals entering the loation, the system must either guarantee that the entire omputation takes plae on a ompletely seure priate network, or use a priay-presering tehnique to distribute the omputation on a publi network. Under Reiew

3 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS Researh Sope The goal of this researh is to proide an approah for leeraging distributed, inherently untrustworthy omputational resoures into a highly robust distributed software system. In partiular, the resulting software system benefits from the Internet s large size while outperforming existing tehniques by tolerating the inseurity and unreliability inherent to the Internet. The primary ontribution of this paper is stile: a software system-onstrution tehnique based on a theoretial model of self-assembly. stile omprises an assembly of a set of tile types that soles a partiular omputational problem, a software arhiteture that reifies that assembly, a set of algorithms for instantiating and distributing that arhiteture on a set of networked nodes, and an implementation framework that natiely realizes the arhiteture and algorithms. stile allows building software systems that distribute NPomplete problems onto large networks while (a) presering the priay of the data, (b) saling well to leerage the resoures, and () tolerating faulty and maliious nodes. In this paper, we proide a formal theoretial analysis of stile s priay preseration, effiieny, and salability. Furthermore, to illustrate the feasibility of stile, we also desribe a referene implementation of the stile framework. Finally, we deploy this implementation on a wide range of distributed testbeds, inluding the globally distributed PlanetLab, to empirially ealuate stile. It is important to note that we hae designated seeral diretions of researh as outside of the sope of this paper. First, we do not onsider issues that are ommon to all Internet-based systems. For example, the energy onsumption of an Internet-sized omputing network is important, but is not unique to our approah and has been argued non-prohibitie in olunteer omputing literature [3]. Seond, we do not fous on programming models and language-leel solutions that an be enisioned as natural outgrowths of this work. In partiular, it is releant to disuss a tile-based language that would expand stile s appliation outside of NP-omplete problems, but we leae this diretion as part of our future work. Third, while we fous on salability, effiieny, and priay, there are ertainly other releant dimensions of Internet-sized omputing systems (e.g., energy effiieny, whih has been mentioned aboe, as well as fault tolerane, whih we hae disussed in [7], [8]), but we onsider them outside of this paper s sope. Where appliable, we will proide the intuition for stile s ability to ompete with existing tehniques in these dimensions. 3 STILE Under Reiew stile is a tehnique for designing, implementing, and deploying software systems that distribute omputation onto large, inseure, publi networks. Figure shows a high-leel oeriew of stile. stile onsists of four omponents: a tile assembly, the orresponding tile arhiteture, the assoiated algorithms, and the Mahjong implementation framework. For a gien problem P, stile uses a tile assembly (desribed in Setion 3.) to reate a tile arhiteture (desribed in Setion 3.2). stile uses Problem P Tile Assembly for P stile Tile Algorithms Tile Arhiteture Fig.. A high-leel oeriew of stile. Mahjong Implementation Framework Software System for P: Ø priay presering Ø fault and attak tolerant Ø salable that tile arhiteture and the tile algorithms (also desribed in Setion 3.2) to ompile a Mahjong-based implementation of the system (desribed in Setion 3.3), whih is the software system used to distribute the omputation soling P onto a network, in a priay-presering manner. It is important to point out that a software engineer who wishes to deelop and deploy a stile-based system does not need to understand the underlying omputational model that we desribe in Setion 3. and use throughout this paper. In essene, stile inludes a ompilation proedure that allows the engineer to automatially ompile a omputational problem to a stile-based, but otherwise ompletely onentional-looking, software system. The underlying tile model is important for proing many of the properties of system orretness and priay preseration, and we desribe them all in this paper. Howeer, from the point of iew of the deeloper, these details are abstrated away, e.g., muh like the assembly language that exeutes underneath a program written in C Computing with Tiles A key omponent of stile is the tile arhiteture, whih is based on a tile assembly. Tile assemblies are extensiely studied mathematial objets [], [9], [44], [48], [5]. Our own prior work has deeloped the notion of effiient omputation with tile assemblies and onstruted effiient assemblies to add and multiply integers [2], fator integers [3], and sole NP-omplete problems [4], [5]. The tile assembly model is Turing-uniersal, so tile assemblies an implement all algorithms [9], [44]. Tile assemblies are not the fous of this paper: we onentrate here on building software systems that sole omputational problems on large networks. To that end, we leerage existing tile assemblies, suh as our preious work on NPomplete omputation. Thus, we will only briefly desribe tile assemblies here, before going into the details of the tile arhiteture and tile algorithms. For ompleteness, we formally desribe the tile assembly model and the tile assembly we deeloped to sole 3-SAT [5] in the Appendix. A tile assembly is a set of types of tiles, squares with stati labels on their four sides. The tiles are not allowed to rotate but are allowed to float around and attah to one another under fairly simple rules. For the purposes of this disussion, tiles may attah when the labels on their respetie sides math. The key to haing a tile assembly do something useful is properly hoosing whih tile types to inlude in the assembly. The set of tile types enodes the program the assembly will exeute. Again, we do not fous on this proess here (a more omplete desription of the proess of deeloping tile assemblies to sole omputational problems an be found in [5]), but one an imagine that design of tile assemblies

4 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 4 * * * * * * * * * * * * * * * * * * * * * * Fig. 2. An example rystal of a 3-SAT-soling tile assembly. Here, the lear tiles enode the input Boolean formula φ = (x 2 x x ) ( x 2 x x ) ( x 2 x x ). This rystal represents one possible nondeterministi exeution that heks whether the assignment x = x 2 = TRUE and x = FALSE satisfies φ. Beause it does, the tile attahes in the top left orner. The Appendix desribes the details of the tile assembly model and this 3-SAT-soling tile assembly. is not unlike the design of ellular automata systems or een programming in assembly language. Figure 2 shows one possible example exeution (rystal) of a tile assembly that soles 3-SAT. The Appendix desribes the details of this assembly. The tiles of a tile assembly reate many suh rystals, eah nondeterministially exploring whether an assignment satisfies a 3-SAT Boolean formula. If some rystal, suh as the one in Figure 2, finds a satisfying assignment, the tile attahes in its top left orner, indiating that a solution has been found. In Setion 3.2, we desribe how stile uses a network of omputers to essentially simulate tile assemblies, resulting in a software system that distributes omputation to sole omputationally-intensie problems. In subsequent setions, we will argue that suh systems are effiient and possess properties that are important to software systems deployed on large publi networks suh as the Internet. 3.2 Tile Arhiteture and Algorithms A stile-based system is a software system that uses a network of omputers to sole a omputational problem. Intuitiely, the network will simulate a tile assembly: eah omputer on the network will pretend to be a tile (many tiles, atually), and ommuniate with other omputers to self-assemble a solution to a omputational problem. Eah omputer will deploy tile omponents, eah representing a tile in a tile assembly, and failitate the proper ommuniation hannels and algorithms to allow the tile omponents to self-assemble. Thus, a tile arhiteture is based on a tile assembly; the software system employing that arhiteture soles the partiular omputational problem the tile assembly soles. From the software system deeloper s point of iew, building a stile-based system may seem imposing. Howeer, it is atually simple. In essene, stile ontains the entire proesses and all the neessary tools to abstrat the internal tile representation away from the deeloper, so that the deeloper neer needs to worry about tile assemblies or to understand how tiles work. The key to this abstration is ompilation. We * Under Reiew * * * * now briefly desribe the two possible proesses a deeloper may follow to reate a stile-based system: the first requires a deep understanding of tile assemblies and the seond (the one stile employs) requires none. Sine a tile arhiteture is based on a tile assembly, and a stile-based system soles the same omputational problem the underlying tile assembly soles, one way to build a stilebased system to sole a partiular omputational problem P is to deelop a tile assembly P that soles P, then follow the proedures we desribe below to translate P into an arhiteture, and finally implement a software system by employing that arhiteture and the appropriate algorithms. This proess an be quite painstaking and requires the design of a tile assembly, suh as the one we desribe in the Appendix. Instead, we reommend an automated ompilation proedure that allows the deeloper to reate a stile-based system without eer understanding the details of tile assemblies. Sine we hae deeloped seeral tile assemblies that sole NP-omplete problems [4], [5], and sine NP-omplete problems are polynomially related, it is possible to translate all NP problems to the problems for whih we already reated tile assemblies using one of the well-established redutions [46]. This translation beomes a ompilation of the problem for whih the deeloper wishes to build a stile-based system to a known tile assembly. This ompilation, as irtually all ompilations, may result in less effiient systems than the diret approah of deeloping a tile assembly for eah partiular problem. Howeer, the benefits of automated ompilation are numerous, and inlude a signifiant time and ost saings and a lower likelihood of bugs. We will not fous on the well-studied ompilation proess [46] in this paper. We do, howeer, note three fats: () The time the ompilation takes is insignifiant, as ompared to atually soling the NP-omplete problems, suh as 3-SAT. (2) Een without ompilation, our stile-based systems present a onsiderable ontribution beause soling 3-SAT itself has important impliations for real-world systems [45]. And, (3) in addition to ease of use, ompilation masks the problem the user is soling; while this is a benefiial side effet of * * * * * * * * * * * * *

5 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 5 Initialization (Client) Repliation (All Nodes) Disoery (All Nodes) Reruitment (All Nodes) Solution (Client) Fig. 3. Oeriew of tile arhiteture node operations. using stile, we disuss the muh more important priaypreseration property in Setion 5. We now desribe what a tile arhiteture looks like and how it is based on a tile assembly. The omponents of the tile arhiteture are instantiations of the tile types of the underlying assembly. A stile-based system employing suh an arhiteture will hae a large number of omponents; on the other hand, there is a omparatiely smaller number of different types of omponents (e.g., 64 types for soling 3- SAT). Nodes on the network will ontain these omponents, and omponents that are adjaent in a rystal an reruit other omponents to attah, thus dynamially ompleting the arhitetural onfiguration [47] orresponding to a tile rystal. The omponents reruit other omponents, by sampling nodes until they find one whose interfaes math. Note that many omponents in the stile arhiteture an run on a single physial node (i.e., mahine on a network), as we will further elaborate below. In addition to defining the tile types, a tile assembly also direts stile how to enode the input to the omputation into the set of omponents omprising the initial, partial arhitetural onfiguration. The input onsists of a seed rystal, suh as the lear tiles along the right and bottom edges in Figure 2 (also shown separately in Figure a). Figure 3 summarizes the algorithms a stile-based system follows to find a solution. During initialization, the system sets up a single seed rystal (i.e., partial style arhitetural onfiguration) on the network to enode the input. The seed then repliates to reate many opies, and eah of the opies reruits tiles to assemble larger rystals (i.e., to omplete the arhitetural onfiguration orresponding to eah rystal) and eentually produe the solution. The solution tile omponents (e.g., the omponent for the 3- SAT assembly) then report their state to the user. Note that the nodes perform these operations autonomously, without entral ontrol, in essene self-assembling the stile arhiteture and, by extension, the omputation the arhiteture is intended to sole. We elaborate on these operations next. We also disuss what happens when stile is unable to find a solution to a omputational problem (e.g., when no assignment of ariables an satisfy 3-SAT) Initializing Computation Under Reiew The lient omputer initializes the omputation by performing three ations: reating the tile type map, distributing the map and tile type desriptions, and setting up a seed rystal. As our analysis in this setion will show, the entire initialization proedure will take on the order of logn time for a network of N nodes, and eah node will send a small amount of data proportional to its loal neighborhood size. Creating the Tile Type Map: A tile type map is a mapping from a large set of numbers (e.g., all 28-bit IP addresses) to tile types. It determines the type of tile omponents a omputer with a gien unique identifier (e.g., IP or MAC address) deploys. The tile type map breaks up the set of numbers into k roughly equal-sized regions, where k is the number of types of tiles in the tile assembly. For the 3-SAT example from the Appendix, there are 64 different tile types, so the tile type map would diide the set of all 28-bit numbers into 64 regions of size The size of the tile type map, whih will later be sent to all the nodes on the network, is small. For an assembly with k tile types, the map is k 28-bit numbers. For our analysis, we assume that eery node on the network is onneted to p other nodes, distributed roughly randomly. This is a first-order approximation of the Internet, but our analysis will extend to more aurate models. Eery omputer may ontat its neighbors diretly and may query its neighbors for their lists of neighbors. A number of our algorithms are designed speifially to work on suh a distributed network, on whih no single node knows a large portion of the network. On more highly onneted networks, our algorithms an be simplified. Distributing the Map and Tile Desriptions: The lient node distributes the tile type map and a short desription of one tile type to a node that deploy that type, as determined by the tile type map. A tile type s desription onsists of the four tile omponent interfaes, whih an be desribed using a few bits. The lient node ontats at least one node that deploys eah tile type by ontating its neighbors, then their neighbors, et. until at least one node of eah type knows the tile type map and its tile type desription. The well-known oupon olletor problem [4] indiates that for a system with k tile types, it will take, with high probability, less than 2k logk time to ollet a node of eah type. The nodes that learn their types from the lient omputer propagate the information to their neighbors whose IPs map to the same tile types, and so on, until eery omputer on the network learns the type of tile omponent that omputer will deploy. Thus eery omputer reeies the tile type map and the desription of its own tile type. Eah omputer might reeie its tile type information and the tile type map seeral times, up to as many times as it has neighbors, whih on our network is only p. Eah node sends only Θ(p) data beause roughly k of( a node s p neighbors ) will hae to be sent the 28k bits, and 28kp k = Θ(p). Beause the diameter of a network of N nodes with randomly distributed onnetions is Θ(log N) [4], the tile type map and the tile types will propagate through the network in Θ(log N) time. Until now, we hae ignored the ase of a network with fewer nodes than the number of types of tiles. If the network is that small, it is possible to reate multiple irtual nodes on eah mahine and proeed as before, though a single physial node will hae knowledge of more than one tile type,

6 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 6 ompromising priay. In the limit, for a network with a single node, it has been analytially shown that priay preseration is not possible [23]. It is important to note that while the tile arhiteture targets large networks, it an be made to work on small networks, although with weaker priay guarantees. Howeer, these small networks are not the entral onern of this work. Creating a Seed: The lient is responsible for reating the first seed on the network through a fairly straightforward proedure. For eah tile in the seed rystal desribed by the underlying tile assembly, the lient selets a node that deploys that tile type (as we desribe in Setion 3.2.2), and asks that node to deploy a tile. The lient then informs eah deployed tile omponent who its neighbors on the network are. This proedure is signifiantly faster and requires signifiantly less network ommuniation than the distribution of the tile type map Disoery The node disoery algorithm is entral to stile beause initialization, repliation, and reruitment all use it. The disoery operation, gien a tile type, returns a uniformly-random IP of some omputer deploying tile omponents of that type, meaning that if a node performs this operation repeatedly, the frequenies of the IP addresses it returns asymptotially approah the uniform distribution. Thus, eery suitable omputer has an equal hane of being returned, in the long run. Our algorithm for disoery will guarantee uniform-randomness, whih in turn will guarantee that all nodes on the network perform a similar amount of omputation. The algorithm will use a property of random walks to ensure uniform-randomness. In order to quikly return the IP address of a omputer that deploys tile omponents of a ertain type, eah node will keep a table, alled the node table, of three IP addresses for eah omponent type, as we explain below. For 3-SAT, the size of this table will be 64 3 = 92 IPs. The table ontains only an identifier for eah tile type, and not the details about the interfaes. The preproessing neessary to reate the node table is simple: first a node fills in the table with all its neighbors and then gets help from neighbors (by requesting their neighbor lists). The analysis of this proedure is idential to the analysis of distributing the tile type map; this preproessing proedure will take Θ(k logk) time per node (happening in parallel for eah node), for k different tile types. The amount of data sent by eah node is limited to Θ(k logk) pakets. For 3-SAT s k = 64, that is fewer than 3 pakets, whih for typial UDP pakets amounts to only 5 kilobytes. After the preproessing, when queried for the IP of a omputer that deploys tile omponents of a gien type, the node performs two steps: () it selets one of the three entries in the node table for that tile type, at random, and (2) it replaes its list of three entries in the table with the seleted node s orresponding three entries. The reason for the replaement is that we want the seletion of IPs to emulate a random walk on the node graph [4]. The request paket only needs to ontain the tile type (e.g., a 32-bit number) and the Under Reiew A B C D Fig. 4. A network with six nodes. We assume that eery node in our underlying network has p neighbors (here p = 3). answer paket must ontain three IPs (three 28-bit numbers). This entire proedure takes Θ() time. We now help larify the preproessing and disoery operations with the use of an example. Suppose the network in Figure 4 represents the onnetiity of six nodes that all map to the same tile type. In reating its node table, A first heks its neighbors B, C, and D, and reords them in the three slots for that tile type. A s node table (for that tile type) is now omplete, but had A not found three alid nodes to fill its table, it would expand its neighbor list by querying one of its neighbors for its neighbors, until it disoered a suffiiently large portion of the network. B follows the same proedure as A and reates a node table and reords its neighbors A, D, and F as the three nodes deploying the same tile type. When A needs a node of that type later (for reasons disussed below), it selets a random node from its three entries. Suppose it selets B. A then replaes its node table entries with B s entries (A, D, F). Note that it is possible for a node to store itself on its node table. Lemma : On an N-node network, after filling only Θ(log N) requests for an IP of a omputer that deploys a ertain tile type using the aboe-outlined proedure, the probability of eah alid IP being returned is uniformly distributed. Proof: Beause the node table keeps independent lists of three nodes of eah type, it is suffiient to proe the lemma for a single tile omponent type. Consider the direted graph G formed by representing eery node as a ertex with three outgoing edges to the erties representing the nodes on the node table. Now onsider a sequene of nodes deried by the aboe-outlined proedure of piking a random node from the three entries, and replaing those three entries with that node s entries. That sequene orresponds to a random walk on G. From [4], we know that a random walk on G mixes rapidly, whih means that if seleting nodes ia this random walk after Θ(logN) steps, the probability of getting the IP of eah node beomes proportional to that node s in degree. Thus on a uniform graph, eery IP is equally likely to be returned. We hae disussed how to onert a random network into one suh that eah node has exatly three neighbors. Again we emphasize that this simplifiation is made to aid our analysis. In fat, the random walk theorem from [4] holds for all graphs with nodes haing three or more neighbors, so this result is diretly appliable to all reasonable distributed networks. For small networks, disoering the entire network does not pose omputational diffiulty, and seleting nodes uniformly-randomly is triial. E F

7 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 7 Fig. 5. Tile omponents that hae both an upper and a left neighbor (highlighted in the diagram) an reruit new omponents to attah to their upper left Reruitment The seed rystal grows into a full assembly by reruiting tile attahments. In a omputational tile assembly (suh as the assembly desribed in the Appendix that soles 3-SAT), a tile omponent that has both an upper and a left neighbor reruits a new tile to attah to its upper left. Figure 5 indiates seeral plaes in a sample rystal where tile omponents are ready to reruit new tiles. A reruiting tile omponent X (highlighted in Figure 5), for eah tile type, piks a potential attahment node Y of that type from its node table, as desribed in Setion 3.2.2, and sends it an attahment request. An attahment request onsists of X s upper neighbor s left interfae and X s left neighbor s top interfae. If those interfaes math Y s right and bottom interfaes, respetiely, then Y an attah. At that point, X informs Y of the IPs of its two new neighbors, and those neighbors of Y s IP. Note that X an perform this operation without eer learning its neighbors interfaes by using Yao s garbled protool [52], whih is ruial for priay preseration. Eah omponent s reruitment is a fie-step proess: X asks N (its upper neighbor) to enode its left interfae, N asks W (X s left neighbor) to enode its top interfae, W responds to X, X sends attahment requests to a set of potential attahments Y, and those Y s reply to X. We will analyze these fie steps in Setion 4.5 when we ompute the speed of stilebased systems. In the 3-SAT example from Setion 3., the suessful rystal reruits 3 tile omponents (non-lear tiles in Figure 2). An unsuessful rystal, whih we disuss further in Setion an reruit fewer, but no more than 3 tiles Repliation Under Reiew Wheneer network nodes hae extra yles they are not using for reruitment, they repliate the seed. Eah node X uses its node table, as desribed in Setion 3.2.2, to find another node Y on the network that deploys the same type omponents as itself, and sends it a repliation request. A repliation request onsists of up to two IP addresses (two 28-bit numbers) of X s neighbors. X lets its neighbors know that Y is X s replia (by sending Y s IP to X s neighbors). Those neighbors, when they repliate using this exat mehanism, will send their replias IPs to Y. Thus, the entire seed repliates. Eah omponent s repliation is thus a three-step proess: X sends a repliation request to Y, Y replies to X, and X tells its neighbors about Y. We will analyze these three steps in Setion 4.5 when we ompute the speed of stile tile arhiteture. At the start of the omputation, while there are ery few reruiting seeds, the repliation will reate an exponentially growing number of idential seeds (the first seed will repliate to reate two, those two will reate four, then eight, et.). When there are suffiiently many seeds to keep the nodes oupied reruiting, repliation naturally slows down beause reruitment has a higher priority than repliation. As some seeds omplete reruitment and free up nodes yles, repliation will one again reate more seeds. The seeds ontinue to repliate and self-assemble until one of the assemblies finds the solution, at whih time the lient broadasts a signal to ease omputation by sending a small STOP paket to all its neighbors, and they forward that paket to their neighbors, and so on. Sine the diameter of a large onneted network of N nodes with randomly distributed onnetions is Θ(log N) [4], the STOP message will propagate in Θ(log N) time Answering 3-SAT in the Negatie A rystal that finds the truth assignment that satisfies the Boolean formula reports the suess to the lient omputer. Sine for NP-omplete problems the answer is always yes or no, the notifiation is only a few bits. Deiding that there is no satisfying assignment is more diffiult. No rystal an laim to hae found the proof that no suh assignment exists. Rather, the absene of rystals that hae found suh an assignment stands to proide some ertainty that it does not exist. Beause for an input on n ariables there are 2 n possible assignments, if 2 n randomly-seleted rystals find no suitable assignment, then the lient knows there does not exist suh an assignment with probability at least ( e ). After exploring m 2 n rystals, the probability grows to at least ( e m ). Thus as time grows linearly, the probability of error diminishes exponentially. Gien the network size and bandwidth, it is possible to determine how long one must wait to get the probability of an error arbitrarily low. For the assembly exeution that soles a 3-ariable 3-SAT problem from Figure 2, the probability of exploring 2 3 = 8 rystals and not finding the solution is no more than e. After exploring 8 rystals, that probability drops to e < 4. Note that no rystal an be larger than 3 tiles, so 8 rystals would require fewer than 25, tile omponents. Beause the tile omponents are lightweight (eah one is far smaller than KB), there is little reason why een a single omputer ould not deploy that many omponents. 3.3 Mahjong Implementation Framework The final element of stile is the Mahjong implementation framework whih uses the tile arhiteture and algorithms to automatially ompose a stile-based software system. The Mahjong framework [] is realized as a Jaa-based middleware platform that faithfully implements the tile arhiteture and its algorithms. It takes as input a desription

8 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 8 of a tile assembly, implements a software system using the tile arhiteture based on that assembly and employing the algorithms desribed in Setion 3.2, and outputs (i.e., deploys) a omplete stile-based software system. The Mahjong implementation framework is aailable for download []. In Mahjong s implementation we leeraged Prism-MW [4], a middleware platform intended speifially for arhitetureaware implementations in highly-distributed and resoureonstrained enironments. Prism-MW proides expliit implementation-leel onstruts for delaring omponents, interfaes, interations, network ommuniation, et., as well as the ability to enode arhitetural onstraints as first-lass middleware-leel onstruts. Eah node on a network runs a Prism-MW Arhiteture, whih forms a sandbox within whih all of the Prism-MW (and, in our ase, Mahjong) ode deployed on a gien node exeutes. The use of system resoures on eah partiipating hardware host is hene restrited and an be released at any time. The tile omponents deploy inside the Arhiteture objets and perform their funtionality as part of the tile algorithms ia their interfaes, whih are implemented as Prism-MW Ports. Mahjong takes a user-proided desription of the set of tiles for an NP-omplete problem and the input to the omputation (the tiles for soling two NP-omplete problems, SubsetSum and 3-SAT, are inluded) and automates the remaining steps of building a stile-based system. Mahjong onsists of 29 objets and 2,9 lines of Jaa ode. It has proen to be flexible and robust to ariations in the arious networks on whih we hae deployed it to date: we hae not had to make hanges to the soure ode to adapt Mahjong to distint networks and a deeloper unfamiliar with the projet was able to deploy it without onsultation with us. 4 COMPUTATIONAL FEASIBILITY In order to demonstrate that stile is a feasible solution for building software systems that distribute omputationally intensie problems on ery large networks, we must show that () suh systems omputational speed is proportional to the size of the underlying network, (2) suh systems are robust to network delay, and (3) real-world-sized problems an be soled on real-world-sized networks in reasonable time. To that end, we hae built two Mahjong-based implementations and a simulator-based Simjong, three software systems that employ stile to sole NP-omplete problems. The Mahjong-based implementation distribute omputation onto omputers on a physial network. Simjong is a disreteeent simulator that reates a simulated network of irtual nodes and distributes omputation onto that simulated network while employing aurate models of network message delays. In addition to empirially illustrating the aboe three properties, the Mahjong-based implementations establish the orretness of our algorithms and demonstrate the distribution of a stile-based system onto a physial network. Beause aess to Internet-sized networks presents numerous logistial hallenges, (the largest physial distributions we ould seure are 86 olloated nodes and globally distributed nodes, as part of PlanetLab [43]), Simjong s goal is to aurately simulate stile-based system distributions on ery large networks (e.g.,,, nodes). We present the details of the Mahjong-based implementations and Simjong in Setion 4. and our experimental setup in Setion 4.2. We then disuss our experiments testing the salability, robustness to network delay, and effiieny in Setions 4.3, 4.4, and 4.5, respetiely. Finally, we will summarize some of the potential threats to the alidity of our ealuation in Setion stile-based Implementations The Mahjong-based implementations are instanes of the Mahjong implementation framework. We hae built two Mahjongbased implementations, one for eah of the 3-SAT and SubsetSum problems. These implementations are aailable for download as part of the framework []. Simjong [] is a Jaa-based disrete-eent simulator with network-delay simulation apabilities. Simjong exeutes on a single mahine and reates a user-speified number of irtual hardware Node omponents, eah apable of deploying tiles. A entral Clok omponent keeps trak of irtual time and allows eah Node to exeute one instrution per lok yle. Wheneer a Node s tile needs to ommuniate to another Node s tile, it sends a message ia the Network omponent that determines the delay for that message s deliery. Simjong s network model allows for message deliery time to be onstant (e.g., ms), hosen at random from some distribution (e.g., Gaussian around ms with a 2ms standard deiation), or proportional to the geographi distane between loations assigned to eah irtual node (e.g., 5ms between Amsterdam and London, and 5ms between New York and Hong Kong). Simjong s network model is a simplifiation of the network simulator standard ns-2 [27] beause it abstrats away the exat topology of the network, whih is not important for our needs. Simjong s irtual nodes follow the tile algorithms, simulating a deployment of a stile-based system on a real distributed network. While exeuting, Simjong keeps trak of the number of ompleted seeds and reports its progress. Thus, it is possible to use Simjong to estimate the time required for a omputation to omplete after exeuting only a fration of that omputation. This is an important harateristi that allows us to simulate ery large problems on ery large networks in omparatiely short time. Under Reiew 4.2 Experimental Setup We leeraged three distributed networks for our experimental ealuation: () A priate heterogeneous luster of Pentium 4.5GHz nodes with 52MB of RAM, running Windows XP or 2. (2) A 86-node subset of USC s Pentium 4 Xeon 3GHz High Performane Computing and Communiations (HPCC) luster [33], whose nodes were distributed in seeral loations, but all within one ity. (3) A -node subset of PlanetLab [43], a globally distributed network of mahines of arying speeds and resoures that were often heaily loaded by seeral experiments at a time. The ross-setion of data we present in this paper used four representatie instanes of NP-omplete problems, to whih we will refer by their labels:

9 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 9 A : 5-number 2-bit SubsetSum problem, B : -number 28-bit SubsetSum problem, C : 2-ariable 2-lause 3-SAT problem, and D : 33-ariable -lause 3-SAT problem. Our experimental goals were to erify stile s salability with respet to network size and robustness to network delay. Our experiments had three independent ariables the number of nodes, the network ommuniation speed between nodes, and the size of the NP-omplete problem and one dependent ariable the time the omputation took to omplete. First, to erify the orretness of stile-based systems, we used Mahjong-based implementations to sole oer one hundred of SubsetSum and 3-SAT problems, inluding A, B, and C. As a rule of thumb, we hose the sizes of problem instanes to eah exeute in under 4 hours on our 86- node luster. We erified that, on eah of the aboe three networks, the implementations found the orret solution to eah instane, it sent no unexpeted ommuniation between network nodes, and no node produed undesired onnetions between tile omponents. Further, we erified that, when proided inputs with a negatie answer, the implementations appeared to exeute indefinitely, as expeted. We were able to perform experiments with Mahjong-based implementations on networks of up to 86 nodes and with Simjong on irtual networks of up to,, nodes. The need for simulation arose from the diffiulty of obtaining time on dediated mahines. Today s distributed-system testbeds are () muh smaller than the networks stile targets, (2) not aimed at omputationally intensie (as opposed to data-sharing or threat-preention) tehniques, and (3) under heay load. For example, PlanetLab, distributed at 485 loations around the world, onsists of only 9 nodes, of whih almost half are typially unresponsie; of the responsie nodes, some are heaily oerloaded or exeedingly slow. Beause of these well known issues with PlanetLab [26], we were unable to repeat our experiments as many times as on the other networks. In the end, PlanetLab allowed us to demonstrate that stile-based systems an be suessfully deployed on globally distributed networks and proided us with useful numerial trends. 4.3 Salability Under Reiew To erify that the speed of the omputation is proportional to the number of nodes on the underlying network, for eah of the three networks desribed aboe, we deployed Mahjong-based implementations on the entire network and on randomly seleted hales of the network. We aried the size of the problem and measured the aerage time in whih the implementations found the solution oer 2 exeutions (exept on PlanetLab, as we explained aboe). We then also deployed Simjong on irtual networks of inreasing size from 25, to,, nodes (with a onstant network delay of ms for all pakets) and simulated the first 4 % of the seeds to estimate the time required to omplete the entire omputation. This allowed eah Simjong exeution to omplete in about an. By omparison, DETER [7] users an gain aess to only a subset of 3 losely loated physial nodes that rely on a network delay simulator similar to the one Simjong uses. Network & Number of Exeution Speed-up Problem Nodes Time Ratio Priate Cluster se. A 22.9 se..89 HPCC min. C 86 6 min..9 PlanetLab min. B 4.8 min..92 Simjong 25, 8.7 hours 25, 4.5 hours.93 D 5, 2. hours 2.4,, 64 min..97 Fig. 6. The effet of doubling the network size on the system s exeution time. The speed-up ratio is the fator speed improement oer the network of half the size. hour of atual time, while exeuting a suffiiently large number of seeds. Our measurements hae shown that, after the first few thousand seeds, our implementations make fairly onstant progress through the seeds and that extrapolating from the 4 % fration is aurate. We hypothesized that as we double the size of the underlying network, the Mahjong-based implementations and Simjong would take approximately half as muh time to omplete. Figure 6 shows a ross-setion of the results of our salability experiments, whih onfirm this hypothesis. For example, exeuting D on a,,-node irtual network took a fator of.97 less time than on a 5,-node irtual network. We speulate that the slight ineffiieny on the physial networks (.9 instead of 2) omes from the onstant underlying-network bandwidth; by ontrast, inreasing the size of a global network is likely to add ommuniation pathways and inrease oerall bandwidth. The experimental results proide onfirmation that the speed of a stile-based system is proportional to the size of the network, resulting in a desirable saling trend for large networks. 4.4 Robustness to Network Delay To measure the effet of network delay on the speed of stile-based systems, we ompared the times Mahjong-based implementations took to sole the same problems on equalsized subsets (up to the maximum nodes) of the priate and HPCC lusters and PlanetLab. We then ompared the times Simjong took on fie irtual networks of,, nodes eah, with respetie network delays of ms, ms, ms, 5ms, drawn from a Gaussian distribution around ms with a 2ms standard deiation, and ones proportional to the geographi distane between randomly assigned worldwide loations (arying from 2ms for olloated nodes to 5ms for most distant ones). We again simulated the first 4 % of the seeds for the same omputation on eah of those networks to estimate the time required to omplete the entire omputation. We hypothesized that the network delay will hae irtually no effet on the time stile-based systems take to exeute. The intuition behind this hypothesis is that eah node in a stile-based system handles the deployment of thousands

10 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS Problem Number of Network Exeution Nodes Delay Time Mahjong-Based Implementations Priate Cluster 2. se. A HPCC 9.3 se. PlanetLab 8.5 se. Priate Cluster 4.6 min. B HPCC 4.2 min. PlanetLab 43.9 min. Simjong ms 65 min. ms 57 min. D,, ms 64 min. 5ms 6 min. Gaussian 68 min. Distane-based 59 min. Fig. 7. The effet of network delay on system exeution time. of lightweight tiles and wheneer a paket traels between nodes, nodes handle other tiles rather than waiting idly for the network ommuniation to arrie. Figure 7 shows a ross-setion of our empirial data on the physial networks, as well as on irtual networks using Simjong. We found that the exeution times were losely lustered and saw no pattern to the small arianes (e.g., while the ms-network run took more time than the ms-network run, the 5ms-network run took less time than the msnetwork run). The experimental results are onsistent with our hypothesis and proide onfirmation that network delay has little to no effet on the speed of a stile-based system. This suggests that stile-based systems an be suessful on astly different networks, from loal, highly onneted ones to globally distributed, sparse ones. 4.5 Effiieny The final laim we address in demonstrating stile s feasibility for industrial systems is that real-world-sized problems an be soled on real-world-sized networks in reasonable time. In partiular, we posit that stile-based systems an outperform existing priay-presering methods for soling NP-omplete problems. There are three ways to sole a highly parallelizable problem while presering the data priay: () on a large inseure network by using stile, (2) on a single priate omputer, or (3) on a priate network of trustworthy omputers. We will first disuss the time needed to sole suh a problem using the three methods in terms of the number of operations and then disuss the atual time neessary to sole problems. Suppose a network with N nodes uses a stile-based system to sole an n-ariable m-lause 3-SAT problem. In expetation, the system has to explore 2 n rystals to reah a solution, and eah rystal ontains (3m+n)lgn repliated tiles (lear tiles in Figure 2) and no more than 3nmlg 2 n reruited tiles (non-lear tiles in Figure 2). On aerage, eah node will need to repliate (3m+n)lgn N 2 n 3nmlg tiles and reruit 2 n N 2 n tiles. The repliation proedure requires three distint operations, as desribed in Setion 3.2.4, eah onluded by sending a single network paket; let the time for these operations be denoted as 3i. Similarly, the reruitment proedure requires fie operations, as desribed in Setion 3.2.3, eah also onluded by sending a single network paket; let the time for these operations be denoted as 5u. Thus, the time required by eah node is summarized by Equation (). This analysis is speifi to 3- SAT, but the running times for other NP-omplete problems will be ery similar, sine the fastest-growing fator of 2 n will be the same. (Note that our analysis here assumes the naïe algorithm that runs in O(2 n ) time, but an be extended to more effiient algorithms, suh as those used in today s SAT solers. We use the simple algorithms to allow us to fairly ompare stile-based and traditional systems. Howeer, both types of systems an employ the more effiient algorithms. We hae already begun work on building tile assemblies, and thus stilebased systems, that leerage the omplex, faster algorithms for NP-omplete problems [6]. We disuss the reasoning and impliations for our assumption further in Setion 4.6.) ( ) (3m + n)lgn 3i + 5u 3nmlg2 n 2 n () N N 2 n (n + 3m)r (2) Now suppose a user wishes to sole the 3-SAT instane on a single omputer. That omputer would need to examine 2 n possible assignments, and hek eah n-ariable assignment against the m lauses. Equation (2) desribes the time this proedure would take using the most effiient aailable tehnique, assuming r is the amount of time eah operation takes to exeute: for eah assignment, reate a hash set ontaining the n literal-seletion elements and hek for eah of the 3m literals whether the hash set ontains that literal. The oerhead of using stile oer a single omputer is the ratio of () and (2). Assuming m > n and i = u = r, meaning that it takes roughly the same amount of time to perform eah operation (e.g., looking up a alue in a hash set and releasing a message on the network), the ratio is no greater than 8nlg2 n N. In other words, if the size of the publi network exeeds 8nlg 2 n, a stile-based system will exeute faster than a single mahine. For the sizes of problems we disuss next, that network size is seeral thousand nodes. Finally, suppose a user wishes to sole the 3-SAT instane on a priate network of M omputers. Assuming the best possible distribution of omputation and that the network ommuniation is nonbloking, the time this system would require to sole the problem is no less than 2n (n+3m)r M. In this ase, the oerhead of using stile oer a priate network is 8nlg 2 nm N. In other words, if the size of the publi network exeeds 8nlg 2 nm, a stile-based system will exeute faster than the priate network. We estimated the time a stile-based system will take to sole a gien problem by two methods: () empirially determining the alues of the onstants r, i, and u, and (2) running Simjong. We measured the onstants on a 2.4GHz mahine running Windows XP and Sun JDK 6. by exeuting seeral million benhmark tests and aeraging their running times. We Under Reiew

11 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 4 millenia 2 millenia millenium entury year month day hour minute seond 5-ariables 4-ariables 3-ariables Network nodes Fig. 8. Expeted exeution times for single-omputer (horizontal lines) and stile-based (diagonal lines) solutions for 3-, 4-, and 5-ariable, -lause 3-SAT problems. Number of Exeution Time Nodes Simjong Estimate 25, 8.7 hours 9. hours 25, 4.5 hours 4.5 hours 5, 2. hours 2.3 hours,, 64 min 68 min. Fig. 9. Comparison of exeution time for soling D as measured by Simjong and estimated by Equation (). found that r seonds ( 2.8 MHz), i seonds ( 3.8 MHz), and u 4. 7 seonds ( 2.4 MHz). With these measurements and Equations () and (2), we an estimate the speeds of a stile-based system and a single omputer soling a gien NP-omplete problem. For example, soling a 38-ariable, -lause instane on a single omputer would take seonds year. Howeer, the same problem ould be soled using stile on a million-node network in.8 5 seonds 2. days. Figure 8 ompares the exeution times of stile and singleomputer solutions. For eah of the three depited -lause 3-SAT instanes (with 3, 4, and 5 ariables), the graph shows the horizontal line indiating the running time of a single-omputer solution, and the diagonal line indiating the running time of a stile-based system implemented in the Mahjong implementation framework and deployed on networks of arying sizes. For networks larger than about 4 nodes, stile-based solutions outperform their ompetitors; for extremely large networks, stile-based systems are muh faster. For example, soling the 4-ariable, -lause 3-SAT problem on a single omputer would take 4 years, while doing so using a stile-based solution implemented in Mahjong and deployed on the network the size of SETI@home (.8 million nodes [49]) would take 7 days. Under Reiew To onfirm these results, we ompared the exeution times measured by Simjong with the estimates from Equation () for D. Figure 9 shows the omparison. We hae onsistently found that Equation () was within 8% of the Simjong-measured exeution times. 4.6 Threats to Validity In our ealuation, as well as in targeting our tehnique, we make seeral assumptions that may threaten the alidity of our results. In our omparisons between stile-based and other approahes to soling NP-omplete problems, we hae used simple underlying algorithms for those problems (e.g., ones that take Θ(2 n ) time to sole n-bit-sized problems.) Some alternatie systems that exist today employ muh faster algorithms; howeer, sine the tile assembly model is Turinguniersal, there exists tile assemblies that implement these effiient algorithms and stile an leerage those assemblies to reate effiient stile-based systems. In fat, we hae already implemented some suh effiient tile assemblies (e.g., one that soles 3-SAT in O(.8394 n ) time [6]). In our analysis, we hae made the assumption that our omparisons would be similar to omparisons between these effiient systems. In part, this assumption is justified beause using the same effiient algorithm for stile-based and onentional systems simply redues the amount of required omputation by the same fator. There is een some reason to beliee that the analysis of effiient systems would faor stile-based systems beause in our analysis of the simple algorithm, we aounted for a number of shortuts and effiieny haks that apply to onentional systems, but that are unlikely to apply to the effiient algorithms. Nonetheless, this assumption poses a potential threat to the alidity of our analysis. One of the uses of stile we hae suggested inoles distributing the software system onto multiple louds, ensuring that no entity ontrols too large a fration of the underlying network. While ertainly feasible, suh a distribution presents seeral hallenges we hae not desribed here. Notably, today s louds tend to lak interoperability, making it diffiult to deploy a single system on multiple louds. While we hae addressed part of this issue sine Mahjong-based systems only require the underlying nodes to be able to exeute Jaa irtual mahines, some engineering hallenges may remain in deploying suh systems on multiple louds and allowing for proper ommuniation between the nodes. We hae taken into aount aurate models of how the underlying network handles message deliery and the inoled delays. Howeer, we hae assumed that the olume of network traffi reated by stile-based systems will not affet message deliery, in partiular, that the olume will not be signifiantly larger than typial olumes. Our deployments on physial networks suggest that this assumption holds for the networks we hae explored; howeer, it is oneiable that for some networks, the traffi olume will signifiantly inrease when exeuting stile-based systems and message deliery may suffer. 5 PRIVACY PRESERVATION We hae demonstrated our eidene that stile-based systems are salable and effiient enough to be able to sole real-world problems. We now argue that stile-based systems exhibit the ery property that moties them: priay of the data. It is diffiult to proe priay preseration empirially beause any

12 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 2 suh analysis an only be as strong as the threat model and its implementation. Instead, in this setion, we will analytially argue that, as long as no adersary ontrols more than half the network, the probability of that adersary learning the input an be made arbitrarily low. This argument proides a strong guarantee of priay preseration. stile s priay preseration omes from eah tile being exposed only to a few intermediate bits of the omputation (see Figure 2) and the tiles lak of awareness of their global position. In order to learn meaningful portions of the data, an adersary needs to ontrol multiple, adjaent tiles. We all a distributed software system priay presering if, with high probability, a randomly hosen group of nodes smaller than half of the network annot disoer the entire input to the omputational problem the system is soling. (We will also disuss, at the end of this setion, the probability of disoering parts of the input.) We argue that () a node deploying a single tile knows irtually no information about the input, (2) a node deploying multiple tiles knows irtually no information about the input, and (3) ontrolling enough omputers to learn the entire input is prohibitiely hard on large publi networks.. For a tile assembly, suh as the one soling 3-SAT, eah tile type enodes no more than one bit of the input. A speial tile enodes the solution, but has no knowledge of the input. If a node were to deploy only a single tile, it would only be able to learn information suh as there is at least one bit in the input, whih is less than one bit of information. 2. Eah node on the network may deploy seeral tiles (all of the same type). Howeer, eah tile is only aware of neighboring tiles and not of it s global position. Thus, if a node deploys seeral non-neighboring tiles, that node annot reonstrut any more information than if it only deployed a single tile. The only way the node may gain more information is if it deploys neighboring tiles. (We handle this ase next.) 3. Suppose an adersary ontrols a subset of the network nodes and an see all the information aailable to eah of the tiles deployed on those nodes. Then the adersary an attempt to reonstrut the omputation input from parts of the rystal that onsist of tiles deployed on ompromised nodes. Lemma 2 bounds the probability that an adersary an use this sheme to learn the input. Lemma 2: Let be the fration of the network that an adersary has ompromised, let s be the number of seeds deployed during a omputation, and let n be the number of bits (tiles) in an input. Then the probability that the ompromised omputers ontain an entire input seed to a stile-based system is ( n ) s. Proof: If an adersary ontrols a fration of the network nodes, then for eah tile in a seed, the adersary has a probability of ontrolling it. Thus for a gien n-bit seed, distributed independently on the nodes, the adersary has probability n of ontrolling all the nodes that deploy the tiles in the seed, and thus the probability that the seed is not entirely ontrolled is n. Sine there are s independent seeds deployed, the probability that none of them are entirely ontrolled is ( n ) s. Finally, the probability that the adersary ontrols at least one seed is ( n ) s. Let us examine a sample senario. Suppose we deploy a stile-based system on a network of 2 2,, mahines to sole a 38-ariable -lause 3-SAT problem. Let us also suppose a powerful adersary has gained ontrol of 2.5% of that network. In order to sole this problem, the system will need to deploy no more than 2 38 seeds, thus the adersary will be able to reonstrut the seed with probability ( 2 4) 2 38 < 22. Note that as the input size inreases, this probability further dereases. The probability deays exponentially for all < 2 (that is, as long as the adersary ontrols less than one half of the network). In the aboe example, ontrol of 25% of the network gies the adersary a probability of reonstruting the input below, and ontrol of 33% of the network yields a probability no greater than 6. An adersary who ontrols exatly half the network has a e 37% hane of learning the input, and one who ontrols more than half the network is ery likely to be able to learn the input, whih is why our tehnique is geared towards large publi networks. One possible hallenge to priay preseration on large publi networks is botnets. Howeer, no single botnet omes lose to ontrolling a signifiant fration, ( say, more than ), of the Internet [24]. As the Internet grows, for any fixed-size botnet, the probability that botnet an affet a stile-based system drops exponentially. We hae shown the analysis of the number on nodes neessary to ompromise the entire input. The same analysis and exponential probability drop-off applies to reonstruting frational parts (e.g., one half or one third) of the input. It is somewhat simpler to reonstrut small (e.g., two- or threebit) fragments of the input, but the information ontained in those fragments is greatly limited, an be minimized by using effiient enodings of the data, and for suh small fragments, annot be used to reonstrut larger fragments [2]. Eah tile omponent in the 3-SAT system handles at most a single bit of the input. Theoretially, this is suffiient for soling NP-omplete problems; howeer, pratially, handling more than a single bit of data at a time would amortize some of the oerhead. Thus eah tile omponent an be made to represent seeral bits. This transformation would result in a trade-off between priay preseration and effiieny, as faster omputation would reeal larger segments of the input to eah node. Under Reiew 6 RELATED WORK In this setion, we desribe related work in the areas distributing omputation onto untrusted hosts and priay-presering omputation. 6. Getting Help with Computation The growth of the Internet has made it possible to use publi omputers to distribute omputation to willing hosts. Software designed to sole omputationally intensie problems has emerged to take adantage of this phenomenon, entiing users to deote their omputers idle yles to some aademially or otherwise worthy ause. This notion fouses the underpinning of omputational grids [28]. Among systems that onentrate

13 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 3 on distributed omputation are BOINC systems [3] (suh as SETI@home [36] and Folding@home [39]), MapRedue [25], and the organi grid [22]. A unique approah FoldIt uses the ompetitie human nature to sole the protein-folding problem [4]. FoldIt asks humans, as part of a game, to try to arrange a protein s amino aids to minimize the free energy. The hope is that humans will be more effiient than the brute fore approahes and that a large number of users will help find the optimal solution. These systems try to sole exatly the highly parallelizable problems toward whih our work is geared, but unlike stile, they do not presere priay. Cloud omputing is a relatiely new phenomenon that allows outsouring omputation. Corporations suh as Google, Yahoo!, and Amazon hae the omputational resoures to distribute these omputations onto thousands of priatelyowned, networked, fairly reliable mahines. Clouds leerage tehnologies suh as MapRedue [25] to handle the data and omputation distribution. Today, a MapRedue system running on a,-ore luster produes data used in eery Yahoo! web searh query [5]; as many as a thousand MapRedue jobs are exeuted on Google s and Amazon s lusters daily [2], [25]; and Faebook uses a MapRedue system to proess more than 5 terabytes of new data eery day [53]. While ommerially iable, louds rely on legal ontrats to ensure priay. For example, if a pharmaeutial ompany outsoures a protein-folding problem to Google, that ompany must share the aluable amino aid sequene with Google and is proteted from Google misusing the sequene or making that data publi by a ontrat. Our approah allows the pharmaeutial ompany to distribute its problem, in priniple, on seeral louds without haing to dislose the priate data, while proiding guarantees that the operators of these louds, as well as potential attakers, annot ompromise that data. Some researh, rather than leeraging large networks, has attempted to aelerate NP-omplete omputation by deeloping faster algorithms for single mahines and small lusters. This work ranges from deeloping effiient exponential-time algorithms [37], [5], to using runtime information to dynamially improe the speed of SAT solers [6], to leeraging loal message-passing protools suh as MPI and OpenMP to use small lusters to linearly aelerate the omputation of speialized problems [42]. This work is not in ompetition with our tehnique, but is rather omplementary. The tile arhiteture is based on a Turing-uniersal omputational model [9], [44] and an implement eah of these adaned algorithms on large distributed networks, leeraging both their effiieny and the tile arhiteture s priay preseration, salability, and fault tolerane. In fat, we hae already built tile assemblies that implement fast 3-SAT algorithms that an be leeraged diretly by stile [6]. At times, in this paper, we ompared simple algorithms that sole NP-omplete problems implemented using the tile arhiteture ersus using onentional methods. The same omparisons an be made for omplex, effiient, state-of-the-art algorithms. The majority of researh on strategies for getting omputational help without dislosing the input of the omputation has foused on asking a single other omputer for help. Yet, in lassial (as opposed to quantum) omputing, it is not possible to get help from a single entity in soling an NP-omplete problem without dislosing most of the information about the input and the problem one is trying to sole [23]. Our approah aoids this shortoming by distributing suh a request oer many mahines without dislosing the entire problem to any small-enough subset of them. 6.2 Seure Computation Gentry has theorized about using a fully homomorphi enryption sheme to enrypt a iruit desribing a problem and then exeuting the enrypted iruit on a separate agent without dislosing the priate data [29]. While theoretially exiting, pratially, this approah annot be used today beause of the exponential amount of omputation required to enrypt and derypt. In a popular artile, Gentry himself estimates that using his tehnique to perform a Google searh, while keeping the query priate, would require one trillion times as muh omputation as is needed today [3]. Gentry s tehnique is theoretially more powerful than ours beause it keeps the data priate from the entire network (as opposed to subsets of the network). Howeer, as we demonstrated in Setion 4, unlike homomorphi enryption, stile is effiient enough to be used today. The field of seure multi-party omputation explores whether multiple omputers, eah of whom knows part of an input, an ompute a funtion of that entire input without sharing their parts with others. stile is a solution to a related, but fundamentally different problem: an omputers be used to help ompute a funtion if no sizable group of those omputers knows the input to the omputation The seminal work in the area of seure multi-party omputation introdued Yao s garbled iruit protool that allows n nodes, eah with aess to a single input, to ompute a funtion of the n inputs while dislosing only the alue of the funtion to eah node [52]. Zero-knowledge ompilers bridge that work loser to our approah by making Yao s protool seure een if the parties annot be trusted [3]. Seure multi-party omputation applies to funtions on large distributed priate data sets, while our work applies to funtions on fairly small data sets, but ones that require exponential time or spae to ompute. Our work does, at times, leerage some of the work in seure multi-party omputation, as we desribed in Setion Under Reiew 7 CONTRIBUTIONS We hae deeloped a new tehnique, alled stile, for designing, deeloping, and implementing software systems that distribute omputation onto large, inseure, publi networks. stile proides the opportunity to design software systems aimed at large distributed networks without haing to worry about distribution, priay preseration, fault and adersary tolerane, and salability, as those properties are inherent to stile. We presented a rigorous theoretial analysis of stile and formally proed that the resulting systems are effiient and salable and presere priay as long as no adersary ontrols half of the publi network. We adapted an off-the-shelf middleware platform to reate Mahjong, an implementation framework, and two referene

14 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 4 Mahjong-based implementations. We deployed these implementations on seeral networks, inluding the globally distributed PlanetLab [43] and simulated Mahjong-based exeutions on networks of up to,, nodes to empirially erify () the orretness of stile algorithms, (2) that the speed of stile omputation is proportional to the number of nodes, (3) that network delay has little to no effet on the speed of the omputation, and (4) that our mathematial analysis of the time needed to sole large problems on large networks is aurate. For networks larger than about 4 nodes, stile outperforms optimized solutions that assume priately-owned, seure hardware With stile, we hae explored the fundamental ost of ahieing priay through data distribution and bound how muh less effiient a priay-presering system is than a nonpriate one. While that ost is signifiant, we found that stile-based systems exeute orders of magnitude faster than homomorphi enryption systems, the alternatie promising approah to presering priay. Further, we beliee that our prototype system an be made more effiient and the bound an be tightened. REFERENCES [] L. Adleman et al., On the deidability of self-assembly of infinite ribbons, in FOCS, 22, pp [2] Amazon elasti MapRedue, [3] D. P. Anderson, BOINC: A system for publi-resoure omputing and storage, in the 5th IEEE/ACM Intl. Workshop on Grid Computing, 24, pp. 4. [4] D. Baker, Foldit, [5] E. Baldeshwieler, Yahoo! launhes world s largest hadoop prodution appliation, yahoo-worlds-largest-prodution-hadoop.html, 28. [6] A. Balint et al., A noel approah to ombine a SLS- and a DPLLsoler for the satisfiability problem, in SAT, 29, pp [7] T. Benzel et al., Design, deployment, and use of the DETER testbed, in the DETER Community Workshop on Cyber Seurity Experimentation and Test, 27, pp. 8. [8] B. Berger and T. Leighton, Protein folding in the hydrophobihydrophili (HP) is NP-omplete, in RECOMB, 998, pp [9] R. Berger, The undeidability of the domino problem, ser. Memoirs Series. Amerian Mathematial Soiety, 966, no. 66. [] F. Berman et al., Adaptie omputing on the grid using AppLeS, TPDS, ol. 4, no. 4, pp , 23. [] Y. Brun, Mahjong tile style implementation, washington.edu/homes/brun/mahjong. [2], Arithmeti omputation in the tile assembly model: Addition and multipliation, Theoretial Computer Siene, ol. 378, no., pp. 7 3, 27. [3], Nondeterministi polynomial time fatoring in the tile assembly model, Theoretial Computer Siene, ol. 395, no., pp. 3 23, 28. [4], Soling NP-omplete problems in the tile assembly model, Theoretial Computer Siene, ol. 395, no., pp. 3 46, 28. [5], Soling satisfiability in the tile assembly model with a onstantsize tileset, Journal of Algorithms, ol. 63, no. 4, pp. 5 66, 28. [6], Improing effiieny of 3-SAT-soling tile systems, in DNA, 2, pp [7] Y. Brun, G. Edwards, J. young Bang, and N. Medidoi, Smart redundany for distributed omputation, in ICDCS, 2. [8] Y. Brun and N. Medidoi, Fault and adersary tolerane as an emergent property of distributed systems software arhitetures, in the 2nd Intl. Workshop on Engineering Fault Tolerant Systems, 27, pp [9] R. Buyya et al., Neurosiene instrumentation and distributed analysis of brain atiity data: a ase for esiene on global grids, Conurreny and Computation: Pratie and Experiene, ol. 7, no. 5, pp , 25. [2] M. Campbell et al., Deep blue, Artifiial Intelligene, ol. 34, no. 2, pp , 22. [2] M. Chaisson et al., Fragment assembly with short reads, Bioinformatis, ol. 2, no. 3, pp , 24. [22] A. J. Chakraarti and G. Baumgartner, The organi grid: Selforganizing omputation on a peer-to-peer network, in ICAC, 24, pp [23] A. M. Childs, Seure assisted quantum omputation, Quantum Information and Computation, ol. 5, no. 456, 25. [24] D. Dagon et al., A taxonomy of botnet strutures, in the 23rd Computer Seurity Appliations Conferene, 27, pp [25] J. Dean and S. Ghemawat, MapRedue: Simplified data proessing on large lusters, in OSDI, 24. [26] J. Duerig et al., Flexlab: A realisti, ontrolled, and friendly enironment for ealuating networked systems, in the 5th Workshop on Hot Topis in Networks, 26, pp [27] S. Floyd and V. Paxson, Diffiulties in simulating the Internet, Transations on Networking, ol. 9, no. 4, pp , 2. [28] I. Foster et al., The anatomy of the grid: Enabling salable irtual organizations, Intl. Journal of High Performane Computing Appliations, ol. 5, no. 3, pp , 2. [29] C. Gentry, Fully homomorphi enryption using ideal latties, in STOC, 29, pp [3] O. Goldreih et al., Proofs that yield nothing but their alidity or all languages in NP hae zero-knowledge proof systems, Journal of the ACM, ol. 38, no. 3, pp , 99. [3] A. Greenberg, IBM s blindfolded alulator, Forbes Magazine, 29. [32] A. S. Grimshaw et al., The Legion ision of a worldwide irtual omputer, Comm. of the ACM, ol. 4, no., pp , 997. [33] High performane omputing and ommuniations, edu/hp. [34] Jaelin Strategy & Researh, 2 identity fraud surey report, http: // 2. [35] D. Keysers and W. Unge, Elasti image mathing is NP-omplete, Pattern Reognition Letters, ol. 24, pp , 23. [36] E. Korpela et al., SETI@home massiely distributed omputing for SETI, IEEE MultiMedia, ol. 3, no., pp , 996. [37] O. Kullmann, New methods for 3-SAT deisions and worst-ase analysis, Theoretial Computer Siene, ol. 223, pp. 72, 999. [38] M. Lamanna, The LHC omputing grid projet at CERN, Nulear Instruments and Methods in Physis Researh Setion A: Aelerators, Spetrometers, Detetors and Assoiated Equipment, ol. 534, no. 2, pp. 6, 24. [39] S. M. Larson et al., Folding@Home and Genome@Home: Using Distributed Computing to Takle Preiously Intratable Problems in Computational Biology, 22. [4] S. Malek, M. Miki-Raki, and N. Medidoi, A style-aware arhitetural middleware for resoure-onstrained, distributed systems, TSE, ol. 3, no. 3, pp , 25. [4] R. Motwani and P. Raghaan, Randomized Algorithms. Cambridge Uniersity Press, 995. [42] A. Nakano et al., Salable atomisti simulation algorithms for materials researh, Sientifi Programming, ol., no. 4, pp , 22. [43] L. Peterson et al., A blueprint for introduing disruptie tehnology into the Internet, Computer Communiation Reiew, ol. 33, no., pp , 23. [44] R. M. Robinson, Undeidability and nonperiodiity for tilings of the plane, Inentiones Mathematiae, ol. 2, no. 3, pp , 97. [45] S. M. Rubin, Computer Aids for VLSI Design. Addison-Wesley, 994. [46] M. Sipser, Introdution to the Theory of Computation. PWS Publishing Company, 997. [47] R. N. Taylor, N. Medidoi, and E. M. Dashofy, Software Arhiteture: Foundations, Theory, and Pratie. John Wiley & Sons, 29. [48] H. Wang, Proing theorems by pattern reognition, II. Bell System Tehnial Journal, ol. 4, pp. 42, 96. [49] Wikipedia, SETI@home, [5] E. Winfree, Simulations of omputing by self-assembly of DNA, California Institute of Tehnology, Teh. Rep. CS-TR:998:22, 998. [5] G. J. Woeginger, Exat algorithms for NP-hard problems: a surey, Combinatorial Optimization - Eureka, You Shrink!, ol. 257/23, pp , 23. [52] A. C.-C. Yao, How to generate and exhange serets, in FOCS, 986, pp [53] M. Zaharia et al., Job sheduling for multi-user MapRedue lusters, UC Berkeley EECS Department, Teh. Rep. UCB/EECS-29-55, 29. Under Reiew

15 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 5 APPENDIX TILE ASSEMBLY MODEL In this Appendix, we formally desribe the tile assembly model and the tile assembly we deeloped to sole 3-SAT [5]. * * * * * * * * * * * * * * * * * * * * * * * * THEORETICAL UNDERPINNINGS The tile assembly model has tiles, or squares, that stik or do not stik together based on arious interfaes on their four sides. Eah tile has an interfae on its top, right, bottom, and left side, and eah distint interfae has an integer strength assoiated with it. The four interfaes, elements of a finite alphabet, define the type of the tile. The plaement of a set of tiles on a 2-D grid is alled a rystal; a tile may attah in empty positions on the rystal if the total strength of all the interfaes on that tile that math its neighbors exeeds the urrent temperature. Starting from a seed rystal, tiles may attah to form new rystals. Sometimes, seeral tiles may satisfy the onditions neessary to attah at a position, in whih ase the attahment is nondeterministi. A tile assembly S omputes a funtion f : N n N m if there exists a mapping i from N n to rystals and a mapping o from rystals to N m suh that for all inputs α N n, i( α) is a seed rystal suh that S attahes tiles to produe a terminal rystal F and o(f) = f ( α). In other words, if there exists a way to enode inputs as rystals and the system attahes tiles to produe rystals that enode the output. For those systems that allow nondeterministi attahments, the terminal rystal F that enodes the output must ontain a speial identifier tile that we will denote as the tile. 3-SAT TILE ASSEMBLY 3-SAT is a well-known NP-omplete problem. The problem onsists of determining whether a Boolean formula in onjuntie normal form (3-CNF) is satisfiable by a truth assignment. The input to the problem is the Boolean formula and the output is if the formula is satisfiable and otherwise. Due to the nature of NP-omplete problems, the ability to sole one suh problem quikly implies the ability to sole all suh problems quikly. For example, if one finds a polynomial-time algorithm to sole 3-SAT, one an then sole the traeling salesman, protein folding, and all other NP problems in polynomial time. Thus, it is suffiient to design a system that uses a large distributed network to sole one NP-omplete problem, e.g., 3-SAT, while presering priay. We present a tile assembly that soles 3-SAT. Deeloping a tile assembly is a proess similar to programming or speifying an algorithm. On the surfae, tile assemblies are low-leel programs, suh as instanes of Turing mahines or ellular automata. Howeer, it is possible to use high-leel paradigms, suh as enapsulation, abstration, and reursion to engineer tile assemblies. For example, we hae preiously designed a multipliation tile assembly [2] that we later use as a subroutine in other assemblies [3]. Figure shows the 64 possible types of tiles of the 3- SAT-soling assembly. The tiles ommuniate ia their side interfaes. Some interfaes ontain a or a, ommuniating Fig.. types. Under Reiew * * * * * * * * * * A tile assembly that soles 3-SAT onsists of 64 tile a single bit to their neighbors. Other interfaes inlude speial symbols suh as and indiating that a ariable is being addressed, meaning that a omparison should take plae, meaning the gien tile attahes nondeterministially, and and indiating the orretness of the omputation up to this point. The assembly nondeterministially selets a ariable truth assignment and heks if that assignment satisfies the formula. If and only if it does, a speial tile attahes to the assembly. Eery 3-SAT input Boolean formula an be enoded as a sequene of tiles. Suh a formula onsists of a onjuntion of lauses, eah of whih, in turn, onsists of a disjuntion of literals. Eah literal, either a Boolean ariable or its negation, an be enoded with a binary representation of the ariable s index and a single bit indiating negation. For example, the literal x 2 an be enoded as three tiles, with labels,, and, and the literal x 3 an be enoded as three tiles with labels,, and. We insert a speial tile between the lauses. Figure shows the progress of the growth of a sample rystal of the tile assembly that soles 3-SAT. The example asks the question whether φ = (x 2 x x ) ( x 2 x x ) ( x 2 x x ) is satisfiable. Figure a shows the starting seed rystal of the omputation. Note that this seed enodes φ. For example, the three leftmost tiles of the bottom row enode the literals = x 2, = x, and = x, whih represent the first lause of φ. The rightmost olumn enodes the fat that φ ontains three ariables = x 2, = x, and = x. Figure b shows the first three tiles (instanes of tile types from Figure ) that attah to the seed. These tiles will make the nondeterministi deision on whether to try x = TRUE or x = FALSE. Note that these tiles left interfaes enode, indiating that the assembly has nondeterministially hosen x = TRUE ( would hae indiated x = FALSE). Haing seleted the assignment for x, the assembly ompares the rightmost literal in φ to that assignment. Figure shows that omparison. The top left orner tile with a top interfae ontaining a indiates that the literal and the assignment math (they are both = x ). If the assignment and literal did not math, the top left orner s top interfae would ontain no. Figure d shows the omparison of the x assignment to the rest of φ. Sine the unnegated literal x does not appear anywhere else in φ, the rest of the top-row tiles do not ontain a in their top interfaes.

16 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 6 (a) (b) () (d) (e) * * * * * * * * * * * * * * * * * * * * * Under Reiew * * * Fig.. An example progression of the growth of a rystal of the 3-SAT-soling tile assembly. The rystal seed (a) onsists of the lear seed tiles, enoding the input φ = (x 2 x x ) ( x 2 x x ) ( x 2 x x ). Speially designed tiles attah to nondeterministially selet a ariable assignment for x (b); ompare that assignment to, first, a single literal in φ (); and then, the rest of the literals in φ (d); and, finally, repeat those steps for ariables x and x 2 and ensure that eah lause is satisfied at least one by the partiular seleted ariable assignment (e). Beause φ is satisfied when x = x 2 = TRUE and x = FALSE, represented by the tiles in the seond from the right olumn in (e), the tile attahes in the top left orner. In Figure e, the assembly repeats the aboe steps to nondeterministially selet assignments for x and x 2 and ompares eah of those to the literals in φ. Wheneer a math ours, tiles with top interfaes propagate that information up, to the top row. Finally, a series of gray tiles attah in the top row to hek whether eah lause has at least one literal math the assignment. If it does, the speial tile an attah in the top left orner of the rystal. If some lause were not satisfied, no suh tile ould attah. The fat that Figure e ontains the tile indiates that the nondeterministially hosen truth assignment x,x,x 2 = TRUE,FALSE,TRUE satisfies φ. * * * * * * We refer the reader to [5] for the formal proof that this assembly soles 3-SAT. As we explain in Setion 3, a single tile assembly, suh as the 3-SAT-soling one we hae desribed here, is suffiient to deelop stile-based systems. Howeer, as part of our work on stile, we hae also proided a tile assembly solution for SubsetSum, another well-known NPomplete problem [4]. This seond assembly illustrates the flexibility of our work and proides some insight into possible stile effiieny improements. The tile assembly we hae desribed here follows the algorithm that runs in O(2 n ) time. It is possible to leerage more effiient algorithms that sole NP-omplete problems to deelop effiient tile assemblies. We hae already designed one suh assembly that soles 3-SAT in O(.8394 n ) time, but do not desribe it here beause of its omplexity [6]. It is important, howeer, to make lear that tile assemblies an implement the same algorithms used on today s fastest systems that sole NP-omplete problems, suh as SAT solers. * * * * * * * * * * * * * * * * * * * * * * * * * *

17 TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 7 Yuriy Brun is an NSF CRA postdotoral Computing Innoation Fellow at the Uniersity of Washington. He reeied his Ph.D. degree in 28 from the Uniersity of Southern California, as a USC Viterbi Shool of Engineering Fellow, and his M.Eng. degree in 23 from the Massahusetts Institute of Tehnology. His dotoral researh was a finalist in the ACM Dotoral Dissertation Competition in 28. Brun s researh interests are in the area of engineering self-adaptie systems, and, in partiular, using mehanisms from nature to reate engineering paradigms for robustness, fault and malie tolerane, salability, and seurity. He does () theoretial work on design and omplexity analysis of biologially inspired algorithms and (2) software engineering work on implementing these algorithms for Internetsized distributed systems, grids, and louds. He is a member of the ACM and the ACM SIGSOFT. Nenad Medidoi reeied the Ph.D. degree in 999 from the Uniersity of California, Irine. Currently, he is a professor in the Computer Siene Department at the Uniersity of Southern California. He is a reipient of the US National Siene Foundation CAREER award. His researh interests are in the area of arhiteture-based software deelopment. His work fouses on software arhiteture modeling and analysis; middleware failities for arhitetural implementation; produt-line arhitetures; arhitetural styles; and arhiteture-leel support for software deelopment in distributed, mobile, resoure onstrained, and embedded omputing enironments. He is a member of the ACM, ACM SIGSOFT, and IEEE. Under Reiew

Outline: Software Design

Outline: Software Design Outline: Software Design. Goals History of software design ideas Design priniples Design methods Life belt or leg iron? (Budgen) Copyright Nany Leveson, Sept. 1999 A Little History... At first, struggling

More information

What are Cycle-Stealing Systems Good For? A Detailed Performance Model Case Study

What are Cycle-Stealing Systems Good For? A Detailed Performance Model Case Study What are Cyle-Stealing Systems Good For? A Detailed Performane Model Case Study Wayne Kelly and Jiro Sumitomo Queensland University of Tehnology, Australia {w.kelly, j.sumitomo}@qut.edu.au Abstrat The

More information

Automatic Physical Design Tuning: Workload as a Sequence Sanjay Agrawal Microsoft Research One Microsoft Way Redmond, WA, USA +1-(425)

Automatic Physical Design Tuning: Workload as a Sequence Sanjay Agrawal Microsoft Research One Microsoft Way Redmond, WA, USA +1-(425) Automati Physial Design Tuning: Workload as a Sequene Sanjay Agrawal Mirosoft Researh One Mirosoft Way Redmond, WA, USA +1-(425) 75-357 sagrawal@mirosoft.om Eri Chu * Computer Sienes Department University

More information

On - Line Path Delay Fault Testing of Omega MINs M. Bellos 1, E. Kalligeros 1, D. Nikolos 1,2 & H. T. Vergos 1,2

On - Line Path Delay Fault Testing of Omega MINs M. Bellos 1, E. Kalligeros 1, D. Nikolos 1,2 & H. T. Vergos 1,2 On - Line Path Delay Fault Testing of Omega MINs M. Bellos, E. Kalligeros, D. Nikolos,2 & H. T. Vergos,2 Dept. of Computer Engineering and Informatis 2 Computer Tehnology Institute University of Patras,

More information

- 1 - S 21. Directory-based Administration of Virtual Private Networks: Policy & Configuration. Charles A Kunzinger.

- 1 - S 21. Directory-based Administration of Virtual Private Networks: Policy & Configuration. Charles A Kunzinger. - 1 - S 21 Diretory-based Administration of Virtual Private Networks: Poliy & Configuration Charles A Kunzinger kunzinge@us.ibm.om - 2 - Clik here Agenda to type page title What is a VPN? What is VPN Poliy?

More information

CleanUp: Improving Quadrilateral Finite Element Meshes

CleanUp: Improving Quadrilateral Finite Element Meshes CleanUp: Improving Quadrilateral Finite Element Meshes Paul Kinney MD-10 ECC P.O. Box 203 Ford Motor Company Dearborn, MI. 8121 (313) 28-1228 pkinney@ford.om Abstrat: Unless an all quadrilateral (quad)

More information

Extracting Partition Statistics from Semistructured Data

Extracting Partition Statistics from Semistructured Data Extrating Partition Statistis from Semistrutured Data John N. Wilson Rihard Gourlay Robert Japp Mathias Neumüller Department of Computer and Information Sienes University of Strathlyde, Glasgow, UK {jnw,rsg,rpj,mathias}@is.strath.a.uk

More information

HEXA: Compact Data Structures for Faster Packet Processing

HEXA: Compact Data Structures for Faster Packet Processing Washington University in St. Louis Washington University Open Sholarship All Computer Siene and Engineering Researh Computer Siene and Engineering Report Number: 27-26 27 HEXA: Compat Data Strutures for

More information

Algorithms, Mechanisms and Procedures for the Computer-aided Project Generation System

Algorithms, Mechanisms and Procedures for the Computer-aided Project Generation System Algorithms, Mehanisms and Proedures for the Computer-aided Projet Generation System Anton O. Butko 1*, Aleksandr P. Briukhovetskii 2, Dmitry E. Grigoriev 2# and Konstantin S. Kalashnikov 3 1 Department

More information

DETECTION METHOD FOR NETWORK PENETRATING BEHAVIOR BASED ON COMMUNICATION FINGERPRINT

DETECTION METHOD FOR NETWORK PENETRATING BEHAVIOR BASED ON COMMUNICATION FINGERPRINT DETECTION METHOD FOR NETWORK PENETRATING BEHAVIOR BASED ON COMMUNICATION FINGERPRINT 1 ZHANGGUO TANG, 2 HUANZHOU LI, 3 MINGQUAN ZHONG, 4 JIAN ZHANG 1 Institute of Computer Network and Communiation Tehnology,

More information

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract CS 9 Projet Final Report: Learning Convention Propagation in BeerAdvoate Reviews from a etwork Perspetive Abstrat We look at the way onventions propagate between reviews on the BeerAdvoate dataset, and

More information

the data. Structured Principal Component Analysis (SPCA)

the data. Structured Principal Component Analysis (SPCA) Strutured Prinipal Component Analysis Kristin M. Branson and Sameer Agarwal Department of Computer Siene and Engineering University of California, San Diego La Jolla, CA 9193-114 Abstrat Many tasks involving

More information

Video Data and Sonar Data: Real World Data Fusion Example

Video Data and Sonar Data: Real World Data Fusion Example 14th International Conferene on Information Fusion Chiago, Illinois, USA, July 5-8, 2011 Video Data and Sonar Data: Real World Data Fusion Example David W. Krout Applied Physis Lab dkrout@apl.washington.edu

More information

Multi-Channel Wireless Networks: Capacity and Protocols

Multi-Channel Wireless Networks: Capacity and Protocols Multi-Channel Wireless Networks: Capaity and Protools Tehnial Report April 2005 Pradeep Kyasanur Dept. of Computer Siene, and Coordinated Siene Laboratory, University of Illinois at Urbana-Champaign Email:

More information

Pipelined Multipliers for Reconfigurable Hardware

Pipelined Multipliers for Reconfigurable Hardware Pipelined Multipliers for Reonfigurable Hardware Mithell J. Myjak and José G. Delgado-Frias Shool of Eletrial Engineering and Computer Siene, Washington State University Pullman, WA 99164-2752 USA {mmyjak,

More information

A {k, n}-secret Sharing Scheme for Color Images

A {k, n}-secret Sharing Scheme for Color Images A {k, n}-seret Sharing Sheme for Color Images Rastislav Luka, Konstantinos N. Plataniotis, and Anastasios N. Venetsanopoulos The Edward S. Rogers Sr. Dept. of Eletrial and Computer Engineering, University

More information

Colouring contact graphs of squares and rectilinear polygons de Berg, M.T.; Markovic, A.; Woeginger, G.

Colouring contact graphs of squares and rectilinear polygons de Berg, M.T.; Markovic, A.; Woeginger, G. Colouring ontat graphs of squares and retilinear polygons de Berg, M.T.; Markovi, A.; Woeginger, G. Published in: nd European Workshop on Computational Geometry (EuroCG 06), 0 Marh - April, Lugano, Switzerland

More information

A Load-Balanced Clustering Protocol for Hierarchical Wireless Sensor Networks

A Load-Balanced Clustering Protocol for Hierarchical Wireless Sensor Networks International Journal of Advanes in Computer Networks and Its Seurity IJCNS A Load-Balaned Clustering Protool for Hierarhial Wireless Sensor Networks Mehdi Tarhani, Yousef S. Kavian, Saman Siavoshi, Ali

More information

13.1 Numerical Evaluation of Integrals Over One Dimension

13.1 Numerical Evaluation of Integrals Over One Dimension 13.1 Numerial Evaluation of Integrals Over One Dimension A. Purpose This olletion of subprograms estimates the value of the integral b a f(x) dx where the integrand f(x) and the limits a and b are supplied

More information

Partial Character Decoding for Improved Regular Expression Matching in FPGAs

Partial Character Decoding for Improved Regular Expression Matching in FPGAs Partial Charater Deoding for Improved Regular Expression Mathing in FPGAs Peter Sutton Shool of Information Tehnology and Eletrial Engineering The University of Queensland Brisbane, Queensland, 4072, Australia

More information

A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR

A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR Malaysian Journal of Computer Siene, Vol 10 No 1, June 1997, pp 36-41 A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR Md Rafiqul Islam, Harihodin Selamat and Mohd Noor Md Sap Faulty of Computer Siene and

More information

Facility Location: Distributed Approximation

Facility Location: Distributed Approximation Faility Loation: Distributed Approximation Thomas Mosibroda Roger Wattenhofer Distributed Computing Group PODC 2005 Where to plae ahes in the Internet? A distributed appliation that has to dynamially plae

More information

A Partial Sorting Algorithm in Multi-Hop Wireless Sensor Networks

A Partial Sorting Algorithm in Multi-Hop Wireless Sensor Networks A Partial Sorting Algorithm in Multi-Hop Wireless Sensor Networks Abouberine Ould Cheikhna Department of Computer Siene University of Piardie Jules Verne 80039 Amiens Frane Ould.heikhna.abouberine @u-piardie.fr

More information

Automated System for the Study of Environmental Loads Applied to Production Risers Dustin M. Brandt 1, Celso K. Morooka 2, Ivan R.

Automated System for the Study of Environmental Loads Applied to Production Risers Dustin M. Brandt 1, Celso K. Morooka 2, Ivan R. EngOpt 2008 - International Conferene on Engineering Optimization Rio de Janeiro, Brazil, 01-05 June 2008. Automated System for the Study of Environmental Loads Applied to Prodution Risers Dustin M. Brandt

More information

RAC 2 E: Novel Rendezvous Protocol for Asynchronous Cognitive Radios in Cooperative Environments

RAC 2 E: Novel Rendezvous Protocol for Asynchronous Cognitive Radios in Cooperative Environments 21st Annual IEEE International Symposium on Personal, Indoor and Mobile Radio Communiations 1 RAC 2 E: Novel Rendezvous Protool for Asynhronous Cognitive Radios in Cooperative Environments Valentina Pavlovska,

More information

Performance Benchmarks for an Interactive Video-on-Demand System

Performance Benchmarks for an Interactive Video-on-Demand System Performane Benhmarks for an Interative Video-on-Demand System. Guo,P.G.Taylor,E.W.M.Wong,S.Chan,M.Zukerman andk.s.tang ARC Speial Researh Centre for Ultra-Broadband Information Networks (CUBIN) Department

More information

System-Level Parallelism and Throughput Optimization in Designing Reconfigurable Computing Applications

System-Level Parallelism and Throughput Optimization in Designing Reconfigurable Computing Applications System-Level Parallelism and hroughput Optimization in Designing Reonfigurable Computing Appliations Esam El-Araby 1, Mohamed aher 1, Kris Gaj 2, arek El-Ghazawi 1, David Caliga 3, and Nikitas Alexandridis

More information

Detecting Outliers in High-Dimensional Datasets with Mixed Attributes

Detecting Outliers in High-Dimensional Datasets with Mixed Attributes Deteting Outliers in High-Dimensional Datasets with Mixed Attributes A. Koufakou, M. Georgiopoulos, and G.C. Anagnostopoulos 2 Shool of EECS, University of Central Florida, Orlando, FL, USA 2 Dept. of

More information

The AMDREL Project in Retrospective

The AMDREL Project in Retrospective The AMDREL Projet in Retrospetive K. Siozios 1, G. Koutroumpezis 1, K. Tatas 1, N. Vassiliadis 2, V. Kalenteridis 2, H. Pournara 2, I. Pappas 2, D. Soudris 1, S. Nikolaidis 2, S. Siskos 2, and A. Thanailakis

More information

Calculation of typical running time of a branch-and-bound algorithm for the vertex-cover problem

Calculation of typical running time of a branch-and-bound algorithm for the vertex-cover problem Calulation of typial running time of a branh-and-bound algorithm for the vertex-over problem Joni Pajarinen, Joni.Pajarinen@iki.fi Otober 21, 2007 1 Introdution The vertex-over problem is one of a olletion

More information

Establishing Secure Ethernet LANs Using Intelligent Switching Hubs in Internet Environments

Establishing Secure Ethernet LANs Using Intelligent Switching Hubs in Internet Environments Establishing Seure Ethernet LANs Using Intelligent Swithing Hubs in Internet Environments WOEIJIUNN TSAUR AND SHIJINN HORNG Department of Eletrial Engineering, National Taiwan University of Siene and Tehnology,

More information

COST PERFORMANCE ASPECTS OF CCD FAST AUXILIARY MEMORY

COST PERFORMANCE ASPECTS OF CCD FAST AUXILIARY MEMORY COST PERFORMANCE ASPECTS OF CCD FAST AUXILIARY MEMORY Dileep P, Bhondarkor Texas Instruments Inorporated Dallas, Texas ABSTRACT Charge oupled devies (CCD's) hove been mentioned as potential fast auxiliary

More information

A Novel Validity Index for Determination of the Optimal Number of Clusters

A Novel Validity Index for Determination of the Optimal Number of Clusters IEICE TRANS. INF. & SYST., VOL.E84 D, NO.2 FEBRUARY 2001 281 LETTER A Novel Validity Index for Determination of the Optimal Number of Clusters Do-Jong KIM, Yong-Woon PARK, and Dong-Jo PARK, Nonmembers

More information

Robust Dynamic Provable Data Possession

Robust Dynamic Provable Data Possession Robust Dynami Provable Data Possession Bo Chen Reza Curtmola Department of Computer Siene New Jersey Institute of Tehnology Newark, USA Email: b47@njit.edu, rix@njit.edu Abstrat Remote Data Cheking (RDC)

More information

CA Test Data Manager 4.x Implementation Proven Professional Exam (CAT-681) Study Guide Version 1.0

CA Test Data Manager 4.x Implementation Proven Professional Exam (CAT-681) Study Guide Version 1.0 Implementation Proven Professional Study Guide Version 1.0 PROPRIETARY AND CONFIDENTIAL INFORMATION 2017 CA. All rights reserved. CA onfidential & proprietary information. For CA, CA Partner and CA Customer

More information

Batch Auditing for Multiclient Data in Multicloud Storage

Batch Auditing for Multiclient Data in Multicloud Storage Advaned Siene and Tehnology Letters, pp.67-73 http://dx.doi.org/0.4257/astl.204.50. Bath Auditing for Multilient Data in Multiloud Storage Zhihua Xia, Xinhui Wang, Xingming Sun, Yafeng Zhu, Peng Ji and

More information

CA Release Automation 5.x Implementation Proven Professional Exam (CAT-600) Study Guide Version 1.1

CA Release Automation 5.x Implementation Proven Professional Exam (CAT-600) Study Guide Version 1.1 Exam (CAT-600) Study Guide Version 1.1 PROPRIETARY AND CONFIDENTIAL INFORMATION 2016 CA. All rights reserved. CA onfidential & proprietary information. For CA, CA Partner and CA Customer use only. No unauthorized

More information

Gray Codes for Reflectable Languages

Gray Codes for Reflectable Languages Gray Codes for Refletable Languages Yue Li Joe Sawada Marh 8, 2008 Abstrat We lassify a type of language alled a refletable language. We then develop a generi algorithm that an be used to list all strings

More information

Detection and Recognition of Non-Occluded Objects using Signature Map

Detection and Recognition of Non-Occluded Objects using Signature Map 6th WSEAS International Conferene on CIRCUITS, SYSTEMS, ELECTRONICS,CONTROL & SIGNAL PROCESSING, Cairo, Egypt, De 9-31, 007 65 Detetion and Reognition of Non-Oluded Objets using Signature Map Sangbum Park,

More information

Recommendation Subgraphs for Web Discovery

Recommendation Subgraphs for Web Discovery Reommation Subgraphs for Web Disovery Arda Antikaioglu Department of Mathematis Carnegie Mellon University aantika@andrew.mu.edu R. Ravi Tepper Shool of Business Carnegie Mellon University ravi@mu.edu

More information

Volume 3, Issue 9, September 2013 International Journal of Advanced Research in Computer Science and Software Engineering

Volume 3, Issue 9, September 2013 International Journal of Advanced Research in Computer Science and Software Engineering Volume 3, Issue 9, September 2013 ISSN: 2277 128X International Journal of Advaned Researh in Computer Siene and Software Engineering Researh Paper Available online at: www.ijarsse.om A New-Fangled Algorithm

More information

CA Privileged Identity Manager r12.x (CA ControlMinder) Implementation Proven Professional Exam (CAT-480) Study Guide Version 1.5

CA Privileged Identity Manager r12.x (CA ControlMinder) Implementation Proven Professional Exam (CAT-480) Study Guide Version 1.5 Proven Professional Exam (CAT-480) Study Guide Version 1.5 PROPRIETARY AND CONFIDENTIAL INFORMATION 2016 CA. All rights reserved. CA onfidential & proprietary information. For CA, CA Partner and CA Customer

More information

NONLINEAR BACK PROJECTION FOR TOMOGRAPHIC IMAGE RECONSTRUCTION. Ken Sauer and Charles A. Bouman

NONLINEAR BACK PROJECTION FOR TOMOGRAPHIC IMAGE RECONSTRUCTION. Ken Sauer and Charles A. Bouman NONLINEAR BACK PROJECTION FOR TOMOGRAPHIC IMAGE RECONSTRUCTION Ken Sauer and Charles A. Bouman Department of Eletrial Engineering, University of Notre Dame Notre Dame, IN 46556, (219) 631-6999 Shool of

More information

Uplink Channel Allocation Scheme and QoS Management Mechanism for Cognitive Cellular- Femtocell Networks

Uplink Channel Allocation Scheme and QoS Management Mechanism for Cognitive Cellular- Femtocell Networks 62 Uplink Channel Alloation Sheme and QoS Management Mehanism for Cognitive Cellular- Femtoell Networks Kien Du Nguyen 1, Hoang Nam Nguyen 1, Hiroaki Morino 2 and Iwao Sasase 3 1 University of Engineering

More information

Cluster-Based Cumulative Ensembles

Cluster-Based Cumulative Ensembles Cluster-Based Cumulative Ensembles Hanan G. Ayad and Mohamed S. Kamel Pattern Analysis and Mahine Intelligene Lab, Eletrial and Computer Engineering, University of Waterloo, Waterloo, Ontario N2L 3G1,

More information

Capturing Large Intra-class Variations of Biometric Data by Template Co-updating

Capturing Large Intra-class Variations of Biometric Data by Template Co-updating Capturing Large Intra-lass Variations of Biometri Data by Template Co-updating Ajita Rattani University of Cagliari Piazza d'armi, Cagliari, Italy ajita.rattani@diee.unia.it Gian Lua Marialis University

More information

Acoustic Links. Maximizing Channel Utilization for Underwater

Acoustic Links. Maximizing Channel Utilization for Underwater Maximizing Channel Utilization for Underwater Aousti Links Albert F Hairris III Davide G. B. Meneghetti Adihele Zorzi Department of Information Engineering University of Padova, Italy Email: {harris,davide.meneghetti,zorzi}@dei.unipd.it

More information

Accommodations of QoS DiffServ Over IP and MPLS Networks

Accommodations of QoS DiffServ Over IP and MPLS Networks Aommodations of QoS DiffServ Over IP and MPLS Networks Abdullah AlWehaibi, Anjali Agarwal, Mihael Kadoh and Ahmed ElHakeem Department of Eletrial and Computer Department de Genie Eletrique Engineering

More information

Multiple-Criteria Decision Analysis: A Novel Rank Aggregation Method

Multiple-Criteria Decision Analysis: A Novel Rank Aggregation Method 3537 Multiple-Criteria Deision Analysis: A Novel Rank Aggregation Method Derya Yiltas-Kaplan Department of Computer Engineering, Istanbul University, 34320, Avilar, Istanbul, Turkey Email: dyiltas@ istanbul.edu.tr

More information

The Alpha Torque and Quantum Physics

The Alpha Torque and Quantum Physics The Alpha Torque and Quantum Physis Zhiliang Cao, Henry Cao williamao15000@yahoo.om, henry.gu.ao@gmail.om July 18, 010 Abstrat In the enter of the unierse, there isn t a super massie blak hole or any speifi

More information

Exploring the Commonality in Feature Modeling Notations

Exploring the Commonality in Feature Modeling Notations Exploring the Commonality in Feature Modeling Notations Miloslav ŠÍPKA Slovak University of Tehnology Faulty of Informatis and Information Tehnologies Ilkovičova 3, 842 16 Bratislava, Slovakia miloslav.sipka@gmail.om

More information

Approximate logic synthesis for error tolerant applications

Approximate logic synthesis for error tolerant applications Approximate logi synthesis for error tolerant appliations Doohul Shin and Sandeep K. Gupta Eletrial Engineering Department, University of Southern California, Los Angeles, CA 989 {doohuls, sandeep}@us.edu

More information

Chapter 2: Introduction to Maple V

Chapter 2: Introduction to Maple V Chapter 2: Introdution to Maple V 2-1 Working with Maple Worksheets Try It! (p. 15) Start a Maple session with an empty worksheet. The name of the worksheet should be Untitled (1). Use one of the standard

More information

This fact makes it difficult to evaluate the cost function to be minimized

This fact makes it difficult to evaluate the cost function to be minimized RSOURC LLOCTION N SSINMNT In the resoure alloation step the amount of resoures required to exeute the different types of proesses is determined. We will refer to the time interval during whih a proess

More information

Improved Circuit-to-CNF Transformation for SAT-based ATPG

Improved Circuit-to-CNF Transformation for SAT-based ATPG Improved Ciruit-to-CNF Transformation for SAT-based ATPG Daniel Tille 1 René Krenz-Bååth 2 Juergen Shloeffel 2 Rolf Drehsler 1 1 Institute of Computer Siene, University of Bremen, 28359 Bremen, Germany

More information

Performance of Histogram-Based Skin Colour Segmentation for Arms Detection in Human Motion Analysis Application

Performance of Histogram-Based Skin Colour Segmentation for Arms Detection in Human Motion Analysis Application World Aademy of Siene, Engineering and Tehnology 8 009 Performane of Histogram-Based Skin Colour Segmentation for Arms Detetion in Human Motion Analysis Appliation Rosalyn R. Porle, Ali Chekima, Farrah

More information

Improved flooding of broadcast messages using extended multipoint relaying

Improved flooding of broadcast messages using extended multipoint relaying Improved flooding of broadast messages using extended multipoint relaying Pere Montolio Aranda a, Joaquin Garia-Alfaro a,b, David Megías a a Universitat Oberta de Catalunya, Estudis d Informàtia, Mulimèdia

More information

Compilation Lecture 11a. Register Allocation Noam Rinetzky. Text book: Modern compiler implementation in C Andrew A.

Compilation Lecture 11a. Register Allocation Noam Rinetzky. Text book: Modern compiler implementation in C Andrew A. Compilation 0368-3133 Leture 11a Text book: Modern ompiler implementation in C Andrew A. Appel Register Alloation Noam Rinetzky 1 Registers Dediated memory loations that an be aessed quikly, an have omputations

More information

A Novel Bit Level Time Series Representation with Implication of Similarity Search and Clustering

A Novel Bit Level Time Series Representation with Implication of Similarity Search and Clustering A Novel Bit Level Time Series Representation with Impliation of Similarity Searh and lustering hotirat Ratanamahatana, Eamonn Keogh, Anthony J. Bagnall 2, and Stefano Lonardi Dept. of omputer Siene & Engineering,

More information

特集 Road Border Recognition Using FIR Images and LIDAR Signal Processing

特集 Road Border Recognition Using FIR Images and LIDAR Signal Processing デンソーテクニカルレビュー Vol. 15 2010 特集 Road Border Reognition Using FIR Images and LIDAR Signal Proessing 高木聖和 バーゼル ファルディ Kiyokazu TAKAGI Basel Fardi ヘンドリック ヴァイゲル Hendrik Weigel ゲルド ヴァニーリック Gerd Wanielik This paper

More information

Face and Facial Feature Tracking for Natural Human-Computer Interface

Face and Facial Feature Tracking for Natural Human-Computer Interface Fae and Faial Feature Traking for Natural Human-Computer Interfae Vladimir Vezhnevets Graphis & Media Laboratory, Dept. of Applied Mathematis and Computer Siene of Mosow State University Mosow, Russia

More information

Analysis of input and output configurations for use in four-valued CCD programmable logic arrays

Analysis of input and output configurations for use in four-valued CCD programmable logic arrays nalysis of input and output onfigurations for use in four-valued D programmable logi arrays J.T. utler H.G. Kerkhoff ndexing terms: Logi, iruit theory and design, harge-oupled devies bstrat: s in binary,

More information

Boosted Random Forest

Boosted Random Forest Boosted Random Forest Yohei Mishina, Masamitsu suhiya and Hironobu Fujiyoshi Department of Computer Siene, Chubu University, 1200 Matsumoto-ho, Kasugai, Aihi, Japan {mishi, mtdoll}@vision.s.hubu.a.jp,

More information

Self-Adaptive Parent to Mean-Centric Recombination for Real-Parameter Optimization

Self-Adaptive Parent to Mean-Centric Recombination for Real-Parameter Optimization Self-Adaptive Parent to Mean-Centri Reombination for Real-Parameter Optimization Kalyanmoy Deb and Himanshu Jain Department of Mehanial Engineering Indian Institute of Tehnology Kanpur Kanpur, PIN 86 {deb,hjain}@iitk.a.in

More information

Graph-Based vs Depth-Based Data Representation for Multiview Images

Graph-Based vs Depth-Based Data Representation for Multiview Images Graph-Based vs Depth-Based Data Representation for Multiview Images Thomas Maugey, Antonio Ortega, Pasal Frossard Signal Proessing Laboratory (LTS), Eole Polytehnique Fédérale de Lausanne (EPFL) Email:

More information

Abstract. Key Words: Image Filters, Fuzzy Filters, Order Statistics Filters, Rank Ordered Mean Filters, Channel Noise. 1.

Abstract. Key Words: Image Filters, Fuzzy Filters, Order Statistics Filters, Rank Ordered Mean Filters, Channel Noise. 1. Fuzzy Weighted Rank Ordered Mean (FWROM) Filters for Mixed Noise Suppression from Images S. Meher, G. Panda, B. Majhi 3, M.R. Meher 4,,4 Department of Eletronis and I.E., National Institute of Tehnology,

More information

Sparse Certificates for 2-Connectivity in Directed Graphs

Sparse Certificates for 2-Connectivity in Directed Graphs Sparse Certifiates for 2-Connetivity in Direted Graphs Loukas Georgiadis Giuseppe F. Italiano Aikaterini Karanasiou Charis Papadopoulos Nikos Parotsidis Abstrat Motivated by the emergene of large-sale

More information

Flow Demands Oriented Node Placement in Multi-Hop Wireless Networks

Flow Demands Oriented Node Placement in Multi-Hop Wireless Networks Flow Demands Oriented Node Plaement in Multi-Hop Wireless Networks Zimu Yuan Institute of Computing Tehnology, CAS, China {zimu.yuan}@gmail.om arxiv:153.8396v1 [s.ni] 29 Mar 215 Abstrat In multi-hop wireless

More information

Drawing lines. Naïve line drawing algorithm. drawpixel(x, round(y)); double dy = y1 - y0; double dx = x1 - x0; double m = dy / dx; double y = y0;

Drawing lines. Naïve line drawing algorithm. drawpixel(x, round(y)); double dy = y1 - y0; double dx = x1 - x0; double m = dy / dx; double y = y0; Naïve line drawing algorithm // Connet to grid points(x0,y0) and // (x1,y1) by a line. void drawline(int x0, int y0, int x1, int y1) { int x; double dy = y1 - y0; double dx = x1 - x0; double m = dy / dx;

More information

3-D IMAGE MODELS AND COMPRESSION - SYNTHETIC HYBRID OR NATURAL FIT?

3-D IMAGE MODELS AND COMPRESSION - SYNTHETIC HYBRID OR NATURAL FIT? 3-D IMAGE MODELS AND COMPRESSION - SYNTHETIC HYBRID OR NATURAL FIT? Bernd Girod, Peter Eisert, Marus Magnor, Ekehard Steinbah, Thomas Wiegand Te {girod eommuniations Laboratory, University of Erlangen-Nuremberg

More information

Cluster-based Cooperative Communication with Network Coding in Wireless Networks

Cluster-based Cooperative Communication with Network Coding in Wireless Networks Cluster-based Cooperative Communiation with Network Coding in Wireless Networks Zygmunt J. Haas Shool of Eletrial and Computer Engineering Cornell University Ithaa, NY 4850, U.S.A. Email: haas@ee.ornell.edu

More information

The Minimum Redundancy Maximum Relevance Approach to Building Sparse Support Vector Machines

The Minimum Redundancy Maximum Relevance Approach to Building Sparse Support Vector Machines The Minimum Redundany Maximum Relevane Approah to Building Sparse Support Vetor Mahines Xiaoxing Yang, Ke Tang, and Xin Yao, Nature Inspired Computation and Appliations Laboratory (NICAL), Shool of Computer

More information

C 2 C 3 C 1 M S. f e. e f (3,0) (0,1) (2,0) (-1,1) (1,0) (-1,0) (1,-1) (0,-1) (-2,0) (-3,0) (0,-2)

C 2 C 3 C 1 M S. f e. e f (3,0) (0,1) (2,0) (-1,1) (1,0) (-1,0) (1,-1) (0,-1) (-2,0) (-3,0) (0,-2) SPECIAL ISSUE OF IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION: MULTI-ROBOT SSTEMS, 00 Distributed reonfiguration of hexagonal metamorphi robots Jennifer E. Walter, Jennifer L. Welh, and Nany M. Amato Abstrat

More information

To Do. Assignment Overview. Outline. Mesh Viewer (3.1) Mesh Connectivity (3.2) Advanced Computer Graphics (Spring 2013)

To Do. Assignment Overview. Outline. Mesh Viewer (3.1) Mesh Connectivity (3.2) Advanced Computer Graphics (Spring 2013) daned Computer Graphis (Spring 23) CS 283, Leture 5: Mesh Simplifiation Rai Ramamoorthi http://inst.ees.berkeley.edu/~s283/sp3 To Do ssignment, Due Feb 22 Start reading and working on it now. This leture

More information

Gradient based progressive probabilistic Hough transform

Gradient based progressive probabilistic Hough transform Gradient based progressive probabilisti Hough transform C.Galambos, J.Kittler and J.Matas Abstrat: The authors look at the benefits of exploiting gradient information to enhane the progressive probabilisti

More information

Direct-Mapped Caches

Direct-Mapped Caches A Case for Diret-Mapped Cahes Mark D. Hill University of Wisonsin ahe is a small, fast buffer in whih a system keeps those parts, of the ontents of a larger, slower memory that are likely to be used soon.

More information

CA Agile Requirements Designer 2.x Implementation Proven Professional Exam (CAT-720) Study Guide Version 1.0

CA Agile Requirements Designer 2.x Implementation Proven Professional Exam (CAT-720) Study Guide Version 1.0 Exam (CAT-720) Study Guide Version 1.0 PROPRIETARY AND CONFIDENTIAL INFORMATION 2017 CA. All rights reserved. CA onfidential & proprietary information. For CA, CA Partner and CA Customer use only. No unauthorized

More information

A Multi-Head Clustering Algorithm in Vehicular Ad Hoc Networks

A Multi-Head Clustering Algorithm in Vehicular Ad Hoc Networks International Journal of Computer Theory and Engineering, Vol. 5, No. 2, April 213 A Multi-Head Clustering Algorithm in Vehiular Ad Ho Networks Shou-Chih Lo, Yi-Jen Lin, and Jhih-Siao Gao Abstrat Clustering

More information

KERNEL SPARSE REPRESENTATION WITH LOCAL PATTERNS FOR FACE RECOGNITION

KERNEL SPARSE REPRESENTATION WITH LOCAL PATTERNS FOR FACE RECOGNITION KERNEL SPARSE REPRESENTATION WITH LOCAL PATTERNS FOR FACE RECOGNITION Cuiui Kang 1, Shengai Liao, Shiming Xiang 1, Chunhong Pan 1 1 National Laboratory of Pattern Reognition, Institute of Automation, Chinese

More information

DoS-Resistant Broadcast Authentication Protocol with Low End-to-end Delay

DoS-Resistant Broadcast Authentication Protocol with Low End-to-end Delay DoS-Resistant Broadast Authentiation Protool with Low End-to-end Delay Ying Huang, Wenbo He and Klara Nahrstedt {huang, wenbohe, klara}@s.uiu.edu Department of Computer Siene University of Illinois at

More information

mahines. HBSP enhanes the appliability of the BSP model by inorporating parameters that reet the relative speeds of the heterogeneous omputing omponen

mahines. HBSP enhanes the appliability of the BSP model by inorporating parameters that reet the relative speeds of the heterogeneous omputing omponen The Heterogeneous Bulk Synhronous Parallel Model Tiani L. Williams and Rebea J. Parsons Shool of Computer Siene University of Central Florida Orlando, FL 32816-2362 fwilliams,rebeag@s.uf.edu Abstrat. Trends

More information

Allocating Rotating Registers by Scheduling

Allocating Rotating Registers by Scheduling Alloating Rotating Registers by Sheduling Hongbo Rong Hyunhul Park Cheng Wang Youfeng Wu Programming Systems Lab Intel Labs {hongbo.rong,hyunhul.park,heng..wang,youfeng.wu}@intel.om ABSTRACT A rotating

More information

Using Game Theory and Bayesian Networks to Optimize Cooperation in Ad Hoc Wireless Networks

Using Game Theory and Bayesian Networks to Optimize Cooperation in Ad Hoc Wireless Networks Using Game Theory and Bayesian Networks to Optimize Cooperation in Ad Ho Wireless Networks Giorgio Quer, Federio Librino, Lua Canzian, Leonardo Badia, Mihele Zorzi, University of California San Diego La

More information

CA Single Sign-On 12.x Proven Implementation Professional Exam (CAT-140) Study Guide Version 1.5

CA Single Sign-On 12.x Proven Implementation Professional Exam (CAT-140) Study Guide Version 1.5 Study Guide Version 1.5 PROPRIETARY AND CONFIDENTIAL INFORMATION 2018 CA. All rights reserved. CA onfidential & proprietary information. For CA, CA Partner and CA Customer use only. No unauthorized use,

More information

Exploiting Enriched Contextual Information for Mobile App Classification

Exploiting Enriched Contextual Information for Mobile App Classification Exploiting Enrihed Contextual Information for Mobile App Classifiation Hengshu Zhu 1 Huanhuan Cao 2 Enhong Chen 1 Hui Xiong 3 Jilei Tian 2 1 University of Siene and Tehnology of China 2 Nokia Researh Center

More information

A Formal Hybrid Analysis Technique for Composite Web Services Verification

A Formal Hybrid Analysis Technique for Composite Web Services Verification A Formal Hybrid Analysis Tehnique for Composite Web Servies Verifiation MAY HAIDAR 1,2, HICHAM H. HALLAL 1 1 Computer Siene Department / Department of Eletrial Engineering Fahad Bin Sultan University P.O

More information

A Piecewise Linear Network Classifier

A Piecewise Linear Network Classifier Proeedings of International Joint Conferene on eural etworks, Orlando, Florida, USA, August -7, 007 A Pieewise Linear etwork Classifier Abdul A. Abdurrab, Mihael T. Manry, Jiang Li, Sanjee S. Malalur and

More information

Tackling IPv6 Address Scalability from the Root

Tackling IPv6 Address Scalability from the Root Takling IPv6 Address Salability from the Root Mei Wang Ashish Goel Balaji Prabhakar Stanford University {wmei, ashishg, balaji}@stanford.edu ABSTRACT Internet address alloation shemes have a huge impat

More information

SVC-DASH-M: Scalable Video Coding Dynamic Adaptive Streaming Over HTTP Using Multiple Connections

SVC-DASH-M: Scalable Video Coding Dynamic Adaptive Streaming Over HTTP Using Multiple Connections SVC-DASH-M: Salable Video Coding Dynami Adaptive Streaming Over HTTP Using Multiple Connetions Samar Ibrahim, Ahmed H. Zahran and Mahmoud H. Ismail Department of Eletronis and Eletrial Communiations, Faulty

More information

Self-aware and Self-expressive Camera Networks

Self-aware and Self-expressive Camera Networks 1 Self-aware and Self-expressive Camera Networks Bernhard Rinner, Lukas Esterle, Jennifer Simonjan, Georg Nebehay, Roman Pflugfelder, Peter R. Lewis and Gustavo Fernández Domínguez Abstrat Reent advanes

More information

Adapting K-Medians to Generate Normalized Cluster Centers

Adapting K-Medians to Generate Normalized Cluster Centers Adapting -Medians to Generate Normalized Cluster Centers Benamin J. Anderson, Deborah S. Gross, David R. Musiant Anna M. Ritz, Thomas G. Smith, Leah E. Steinberg Carleton College andersbe@gmail.om, {dgross,

More information

Design Implications for Enterprise Storage Systems via Multi-Dimensional Trace Analysis

Design Implications for Enterprise Storage Systems via Multi-Dimensional Trace Analysis Design Impliations for Enterprise Storage Systems via Multi-Dimensional Trae Analysis Yanpei Chen, Kiran Srinivasan, Garth Goodson, Randy Katz University of California, Berkeley, NetApp In. {yhen2, randy}@ees.berkeley.edu,

More information

Verifying Interaction Protocol Compliance of Service Orchestrations

Verifying Interaction Protocol Compliance of Service Orchestrations Verifying Interation Protool Compliane of Servie Orhestrations Andreas Shroeder and Philip Mayer Ludwig-Maximilians-Universität Münhen, Germany {shroeda, mayer}@pst.ifi.lmu.de Abstrat. An important aspet

More information

Creating Adaptive Web Sites Through Usage-Based Clustering of URLs

Creating Adaptive Web Sites Through Usage-Based Clustering of URLs Creating Adaptive Web Sites Through Usage-Based Clustering of URLs Bamshad Mobasher Dept. of Computer Siene, DePaul University, Chiago, IL mobasher@s.depaul.edu Robert Cooley, Jaideep Srivastava Dept.

More information

A Dual-Hamiltonian-Path-Based Multicasting Strategy for Wormhole-Routed Star Graph Interconnection Networks

A Dual-Hamiltonian-Path-Based Multicasting Strategy for Wormhole-Routed Star Graph Interconnection Networks A Dual-Hamiltonian-Path-Based Multiasting Strategy for Wormhole-Routed Star Graph Interonnetion Networks Nen-Chung Wang Department of Information and Communiation Engineering Chaoyang University of Tehnology,

More information

CA API Management 8.x Implementation Proven Professional Exam (CAT-560) Study Guide Version 1.1

CA API Management 8.x Implementation Proven Professional Exam (CAT-560) Study Guide Version 1.1 Exam (CAT-560) Study Guide Version 1.1 PROPRIETARY AND CONFIDENTIAL INFORMATION 2016 CA. All rights reserved. CA onfidential & proprietary information. For CA, CA Partner and CA Customer use only. No unauthorized

More information

CA Privileged Access Manager 3.x Proven Implementation Professional Exam (CAT-661) Study Guide Version 1.0

CA Privileged Access Manager 3.x Proven Implementation Professional Exam (CAT-661) Study Guide Version 1.0 Exam (CAT-661) Study Guide Version 1.0 PROPRIETARY AND CONFIDENTIAL INFMATION 2018 CA. All rights reserved. CA onfidential & proprietary information. For CA, CA Partner and CA Customer use only. No unauthorized

More information

Reading Object Code. A Visible/Z Lesson

Reading Object Code. A Visible/Z Lesson Reading Objet Code A Visible/Z Lesson The Idea: When programming in a high-level language, we rarely have to think about the speifi ode that is generated for eah instrution by a ompiler. But as an assembly

More information

Improved Vehicle Classification in Long Traffic Video by Cooperating Tracker and Classifier Modules

Improved Vehicle Classification in Long Traffic Video by Cooperating Tracker and Classifier Modules Improved Vehile Classifiation in Long Traffi Video by Cooperating Traker and Classifier Modules Brendan Morris and Mohan Trivedi University of California, San Diego San Diego, CA 92093 {b1morris, trivedi}@usd.edu

More information

Contents Contents...I List of Tables...VIII List of Figures...IX 1. Introduction Information Retrieval... 8

Contents Contents...I List of Tables...VIII List of Figures...IX 1. Introduction Information Retrieval... 8 Contents Contents...I List of Tables...VIII List of Figures...IX 1. Introdution... 1 1.1. Internet Information...2 1.2. Internet Information Retrieval...3 1.2.1. Doument Indexing...4 1.2.2. Doument Retrieval...4

More information