Clustercalc: Cluster Computing i Regneark
Oversat titel
Clustercalc: Cluster Computing in Spreadsheets
Forfatter
Slot, Christian
Semester
4. semester
Uddannelse
Udgivelsesår
2019
Afleveret
2019-01-11
Antal sider
25
Resumé
Dette speciale undersøger, hvordan regneark kan bruges som både brugergrænseflade og beregningsmodel til klyngeberegninger for at gøre Big Data-analyse mere tilgængelig for brugere uden omfattende programmeringserfaring. Projektet designer og implementerer prototypen Clustercalc ved at integrere det åbne regnearksprogram Funcalc med AKKA.NETs actor-baserede klyngeframework, begge i C#, så klyngekode kan indsprøjtes direkte i regnearksprogrammet. Clustercalc lader brugere definere og genbruge funktioner via “sheet defined functions” og udføre parallelle beregninger på tværs af flere maskiner gennem indbyggede funktioner, mens brugeren arbejder i velkendte regneark. Arkitekturen beskriver et actor-system til at fordele og koordinere workbooks på tværs af noder i en MapReduce-lignende arbejdsdeling og et interface mellem Funcalc og Clustercalc. En central idé er, at data og beregninger forbliver på klyngen, mens kun nødvendige uddrag vises i brugerens regneark, hvilket kan omgå traditionelle størrelsesbegrænsninger i regneark. Rapporten positionerer arbejdet i forhold til tidligere løsninger, gennemgår design, fordele og ulemper samt programmeringsmæssige udfordringer og skitserer fremtidigt arbejde med bl.a. loadbalancering, brugertest og streaming af data. Da uddraget ikke indeholder en empirisk evaluering, præsenteres primært design- og implementeringsbidrag, der demonstrerer gennemførligheden af en regnearksdrevet klyngeprototype.
This thesis explores how spreadsheets can serve as both the user interface and the execution model for cluster computing to make big data analysis more accessible to users with limited programming experience. The project designs and implements the Clustercalc prototype by integrating the open-source spreadsheet Funcalc with the actor-based AKKA.NET cluster framework, both in C#, allowing cluster code to be injected directly into the spreadsheet program. Clustercalc enables users to define and reuse functions via sheet-defined functions and to run parallel computations across multiple machines through built-in functions while working within familiar spreadsheet workflows. The architecture describes an actor system that distributes and coordinates workbooks across nodes in a MapReduce-like division of labor and an interface between Funcalc and Clustercalc. A central idea is to keep data and computation on the cluster while only loading necessary subsets into the user’s spreadsheet, helping to overcome traditional spreadsheet size limits. The report situates the work relative to prior approaches, details the design, benefits and drawbacks, and programming challenges, and outlines future work on load balancing, user studies, and streaming data. As the excerpt contains no empirical evaluation, the contribution is presented primarily as design and implementation that demonstrate the feasibility of a spreadsheet-driven cluster prototype.
[Dette resumé er genereret med hjælp fra AI direkte fra projektet (PDF)]
