MapReduce Coordinator Using On-Demand Code Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional MapReduce implementations require a dedicated framework or infrastructure to manage execution of map and reduce functions, leading to limitations in flexibility, speed, and efficiency, especially when processing large data sets.
Innovation Solution
An on-demand code execution environment that utilizes coordinator functions as tasks to organize and execute map and reduce functions, eliminating the need for a persistent infrastructure and enabling rapid, parallelized data processing by pre-warming virtual machine instances for immediate task execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a dedicated framework or infrastructure is used to manage MapReduce execution, then reliability and coordination are improved, but device complexity and operational overhead increase
Solution Approach 1:
The patent extracts the MapReduce execution management functionality from a dedicated persistent framework and relocates it to serverless function executions. The coordination logic is packaged as self-contained functions that are invoked on-demand, eliminating the need for a continuously running infrastructure while maintaining execution coordination capabilities.
Solution Approach 2:
The system implements self-service by having the MapReduce execution coordinator packaged as a serverless function that automatically manages its own execution state, coordination logic, and resource requirements. The function retrieves necessary information from storage services and manages task coordination without external infrastructure support.
2Reliability
If a persistent infrastructure is maintained for MapReduce coordination, then execution reliability is improved, but speed and latency increase due to continuous operation requirements
Solution Approach 1:
The system applies preliminary action by pre-packaging the execution coordinator logic into a serverless function that is ready for immediate invocation. The function and its dependencies are prepared in advance and stored, allowing rapid deployment and execution without the startup overhead of a persistent infrastructure when processing tasks are submitted.
Solution Approach 2:
The system transitions from continuous periodic operation to event-driven periodic execution. The coordination function is invoked periodically only when MapReduce tasks are submitted or state changes occur, rather than running continuously. This reduces idle time and latency while maintaining coordination reliability through on-demand execution.
3Extent of automation
If traditional MapReduce framework is used, then coordination capability is improved, but flexibility and adaptability decrease
Solution Approach 1:
The serverless function platform provides universality by allowing the execution coordinator to be implemented as a general-purpose function that can handle various MapReduce workloads. The same serverless infrastructure can execute different coordination logic for different data processing tasks, providing both automated coordination and implementation flexibility through code-based configuration rather than fixed infrastructure.
Solution Approach 2:
The system applies dynamics by making the coordination logic dynamic and modifiable through serverless function updates. The execution coordinator can be easily modified, scaled, and adapted to different requirements by updating the function code or configuration, rather than requiring changes to a persistent infrastructure architecture. This enables flexible adaptation to different MapReduce implementations and requirements.
Data Source
AI summary
Systems and methods are described for providing an implementation of the MapReduce programming model utilizing tasks executing on an on-demand code execution system or other distributed code execution environment. A coordinator task may be used to obtain a request to process a set of data according to the implementation of the MapReduce programming model, to initiate executions of a map task to analyze that set of data, and to initiate executions of a reduce task to reduce outputs of the map task executions to a single results file. The coordinator task may be event-driven, such that it executes in response to completion of executions of the map task or reduce tasks, and can be halted or paused during those executions. Thus, the MapReduce programming model may be implemented without the use of a dedicated framework or infrastructure to manage map and reduce functions.


