Code Generation for Big Data Processing in the Web using WebAssembly Traditional clusters for cloud computing are quite hard to configure and setup, and the number of cluster nodes is limited by the available hardware in the cluster. We hence envision the concept of a Browser Cloud: One just has to visit with hisher web browser a certain webpage in order to connect hisher computer to the Browser Cloud. In this way the setup of the Browser Cloud is much easier than those of traditional clouds. Furthermore, the Browser Cloud has a much larger number of potential nodes, as any computer running a browser may connect to and be integrated in the Browser Cloud. New challenges arise when setting up a cloud by web browsers: Data is processed within the browser, which requires to use the technologies offered by the browser for this purpose. The typically used JavaScript runtime environment may be too slow, because JavaScript is an interpreted language. Hence we investigate the possibilities for computing the workintensive part of the query processing inside a virtual machine of the web browser. The technology WebAssemby for virtual machines is recently supported by all major browsers and promises high speedups in comparison with JavaScript. Recent approaches to efficient Big Data processing generate code for the data processing steps of queries. To run the generated code in a WebAssembly virtual machine, an online compiler is needed to generate the WebAssembly bytecode from the generated code. Hence our main contribution is an online compiler to WebAssembly bytecode especially developed to run in the web browser and for Big Data processing based on code generation of the processing steps. In our experiments, the runtimes of Big Data processing using JavaScript is compared with running WebAssembly technologies in the major web browsers.

Usability evaluation of a domainspecific language for defining aggregated processing tasks The effective processing of Big Data sets often requires some programming knowledge from a prospective userxe2x80x99s part. This could prove costly to achieve, in terms of user training time and effort, depending on the level of previous experience. The premise, when dealing with large data sets, is that it should be as easy as possible for a user to prototype and test processing algorithms, in order to deal with them in an effective manner. For this reason, we have developed a domain specific language meant to allow users to define data processing tasks as aggregates, consisting of atomic operations. Its goal is to do away with some of the complexities of traditional programming languages, by simplifying the representation model and providing a more intuitive process description tool for its users. This paper aims to evaluate the efficiency and effectiveness with which a novice user could employ our domainspecific language to define processing tasks, and then compare the results to those obtained while using the Python programming language. The experiments will be focused on task duration, description correctness and code interpretation, highlighting possible advantages and disadvantages observed during the usage of the two languages.