Post

Week 7 Update: Bug Fixes & Scheduler Ideas

Week 7 Update: Bug Fixes & Scheduler Ideas

Overview

This week was all about tightening the screws and laying the groundwork for customizable scheduling. We focused on tracking down and resolving bugs uncovered during function invocation tests and began ideating a user-configurable scheduler framework. These efforts aim to improve system stability while paving the way for more flexible execution policies.

Bug Fix

  • Fixed a bug where completed invocations weren’t correctly reported back to the Function Manager under certain timing conditions.
  • Improved message delivery reliability by reinforcing the communication layer between compute services and the manager.

This fix enhanced the simulation’s reliability and reduced inconsistencies, especially under concurrent workloads.

User-Configurable Scheduler: Early Concepts

We’re also laying the conceptual foundation for a user-configurable scheduling system that allows users to define how functions are scheduled and prioritized:

  • Policy Hooks:
    • Early designs involve exposing hooks within the scheduling logic that can call user-supplied functions to decide on host selection or queue prioritization.
  • Custom Strategies:
    • Brainstormed support for multiple strategies (e.g., FCFS, Round-Robin, Resource-Aware), with the ability for users to plug in their own logic using a well-defined interface.
  • Scheduler Sandbox:
    • Proposed a sandboxed testing mode where users can simulate and evaluate their custom scheduler logic before deploying it within a full workflow.

These ideas are still in their formative stage but represent a major step toward empowering users with fine-grained control over function execution behavior.

Next Steps

  • Design Implementation:
    • Finalize the design of the scheduler interface, focusing on clarity, safety, and ease of integration.
    • Begin prototyping basic custom scheduling functions to test the feasibility of different control points.
  • More Robust Testing:
    • Expand unit and integration tests to cover the recent bug fixes and stress-test the wait mechanisms under high load.
  • Documentation Prep:
    • Start drafting technical documentation for users who want to write and integrate custom schedulers.

This week’s progress has us firmly on track toward a more stable and flexible serverless simulation. By fixing key bugs and starting the scheduler design, we’re enabling both robustness and user-driven innovation in our system.

This post is licensed under CC BY 4.0 by the author.