2025-11-12T05:49:09.677536

Multi-Event Triggers for Serverless Computing

Carl, Schirmer, Kowallik et al.
Function-as-a-Service (FaaS) is an event-driven serverless cloud computing model in which small, stateless functions are invoked in response to events, such as HTTP requests, new database entries, or messages. Current FaaS platform assume that each function invocation corresponds to a single event. However, from an application perspective, it is desirable to invoke functions in response to a collection of events of different types or only with every n\textsuperscript{th} event. To implement this today, a function would need additional state management, e.g., in a database, and custom logic to determine whether its trigger condition is fulfilled and the actual application code should run. In such an implementation, most function invocations would be rendered essentially useless, leading to unnecessarily high resource usage, latency, and cost for applications. In this paper, we introduce multi-event triggers, through which complex conditions for function invocations can be specified. Specifically, we introduce abstractions for invoking functions based on a set of $n$ events and joins of multiple events of different types. This enables application developers to define intricate conditions for function invocations, workflow steps, and complex event processing. Our evaluation with a proof-of-concept prototype shows that this reduces event--invocation latency by 62.5\% in an incident detection use-case and that our system can handle more than 300,000 requests per second on limited hardware, which is sufficient load for implementation in large FaaS platforms.
academic

सर्वरलेस कंप्यूटिंग के लिए मल्टी-इवेंट ट्रिगर्स

बुनियादी जानकारी

  • पेपर आईडी: 2505.21199
  • शीर्षक: सर्वरलेस कंप्यूटिंग के लिए मल्टी-इवेंट ट्रिगर्स
  • लेखक: नेटली कार्ल, ट्रेवर शिर्मर, निकलास कोवालिक, जोशुआ एडामेक, टोबियास पफांडजेल्टर, सर्जियो लूसिया, डेविड बर्मबैक
  • वर्गीकरण: cs.DC (वितरित, समानांतर और क्लस्टर कंप्यूटिंग)
  • प्रकाशन समय: arXiv:2505.21199v3 cs.DC 11 अक्टूबर 2025
  • पेपर लिंक: https://arxiv.org/abs/2505.21199

सारांश

फंक्शन-एज-ए-सर्विस (FaaS) एक इवेंट-संचालित सर्वरलेस क्लाउड कंप्यूटिंग मॉडल है, जिसमें छोटे स्टेटलेस फंक्शन्स इवेंट्स (जैसे HTTP अनुरोध, नई डेटाबेस प्रविष्टियां या संदेश) के जवाब में आमंत्रित होते हैं। वर्तमान FaaS प्लेटफॉर्म मानते हैं कि प्रत्येक फंक्शन आह्वान एक एकल इवेंट के अनुरूप है। हालांकि, अनुप्रयोग दृष्टिकोण से, यह वांछनीय है कि फंक्शन विभिन्न प्रकार के इवेंट्स के संग्रह या केवल प्रत्येक nवें इवेंट पर प्रतिक्रिया कर सकें। इसे प्राप्त करने के लिए, फंक्शन्स को अतिरिक्त स्टेट मैनेजमेंट (जैसे डेटाबेस) और कस्टम लॉजिक की आवश्यकता होती है ताकि यह निर्धारित किया जा सके कि ट्रिगर शर्तें पूरी हुई हैं या नहीं। यह पेपर मल्टी-इवेंट ट्रिगर्स (MET) प्रस्तावित करता है, जिसके माध्यम से जटिल फंक्शन आह्वान शर्तें निर्दिष्ट की जा सकती हैं। मूल्यांकन परिणाम दर्शाते हैं कि इवेंट डिटेक्शन यूज़ केस में, यह विधि इवेंट-आह्वान विलंबता को 62.5% तक कम करती है, और सिस्टम सीमित हार्डवेयर पर 300,000 से अधिक अनुरोध/सेकंड को संभाल सकता है।

अनुसंधान पृष्ठभूमि और प्रेरणा

समस्या परिभाषा

वर्तमान FaaS प्लेटफॉर्म में एक मौलिक सीमा है: प्रत्येक फंक्शन आह्वान केवल एक एकल इवेंट के जवाब में हो सकता है। हालांकि, वास्तविक अनुप्रयोगों में अक्सर अधिक जटिल ट्रिगर पैटर्न लागू करने की आवश्यकता होती है:

  1. फैन-इन/जॉइन पैटर्न: कई विभिन्न प्रकार के इवेंट्स को एकत्रित करने के बाद फंक्शन को ट्रिगर करने की आवश्यकता
  2. गणना ट्रिगर: प्रत्येक n इवेंट्स प्राप्त होने पर फंक्शन को एक बार ट्रिगर करना
  3. जटिल शर्त ट्रिगर: इवेंट प्रकार और मात्रा के AND/OR संयोजन शर्तों पर आधारित

मौजूदा विधियों की सीमाएं

वर्तमान में मल्टी-इवेंट ट्रिगर को लागू करने के लिए आवश्यक है:

  • फंक्शन में स्टेट बनाए रखना, बाहरी डेटाबेस स्टोरेज की आवश्यकता
  • प्रत्येक इवेंट फंक्शन को कॉल करता है, लेकिन अधिकांश कॉल केवल स्टेट अपडेट के लिए हैं
  • अनावश्यक संसाधन खपत, बढ़ी हुई विलंबता और बढ़ी हुई लागत का कारण बनता है
  • FaaS प्लेटफॉर्म के डिज़ाइन सिद्धांत का उल्लंघन करता है जो इवेंट वितरण और फंक्शन आह्वान को संभालना चाहिए

अनुसंधान प्रेरणा

FaaS प्रोग्रामिंग मॉडल के लाभों (ढीली युग्मन, स्वचालित स्केलिंग, आसान विकास) को बनाए रखने के लिए, मल्टी-इवेंट ट्रिगर लॉजिक को FaaS प्लेटफॉर्म के ट्रिगर तंत्र में एकीकृत करने की आवश्यकता है, न कि अनुप्रयोग डेवलपर्स को इसे मैन्युअल रूप से संभालने देना।

मुख्य योगदान

  1. मल्टी-इवेंट ट्रिगर अवधारणा प्रस्तावित करना: FaaS फंक्शन ट्रिगर तंत्र को विस्तारित करना, इवेंट संग्रह के आधार पर जटिल ट्रिगर शर्तों का समर्थन करना
  2. MET इंजन आर्किटेक्चर डिज़ाइन करना: मौजूदा FaaS प्लेटफॉर्म में एकीकृत किए जा सकने वाले मल्टी-इवेंट ट्रिगर इंजन डिज़ाइन प्रस्तावित करना
  3. प्रोटोटाइप सिस्टम विकसित करना: अवधारणा प्रमाण प्रोटोटाइप लागू करना, डिज़ाइन की व्यवहार्यता प्रदर्शित करना
  4. प्रदर्शन मूल्यांकन: इवेंट डिटेक्शन यूज़ केस में मल्टी-इवेंट ट्रिगर्स की क्षमता और प्रदर्शन को सत्यापित करना

विधि विवरण

कार्य परिभाषा

मल्टी-इवेंट ट्रिगर्स डेवलपर्स को जटिल ट्रिगर नियम परिभाषित करने की अनुमति देते हैं, जो निर्दिष्ट करते हैं कि फंक्शन विशिष्ट इवेंट संयोजन शर्तों को पूरा करने पर कब आमंत्रित होता है। ट्रिगर नियम इवेंट प्रकार और संबंधित मात्रा से बने होते हैं, AND और OR शर्तों के संयोजन का समर्थन करते हैं।

ट्रिगर नियम औपचारिक परिभाषा

<rule> ::= <count> ":" <type> |
           <condition> "(" <rule> "," <rule> ")"
<condition> ::= "AND" | "OR"
<count> ::= regexp:[0-9]+
<type> ::= regexp:[a-zA-Z]+

MET इंजन आर्किटेक्चर

समग्र डिज़ाइन

MET इंजन में दो मुख्य स्वतंत्र रूप से स्केलेबल घटक हैं:

  1. डिस्पैचर (Dispatcher):
    • लोड बैलेंसर से इवेंट्स प्राप्त करता है
    • इवेंट्स को उपयुक्त इनवोकर को अग्रेषित करता है
  2. इनवोकर (Invoker):
    • ट्रिगर लॉजिक को संभालता है
    • प्रत्येक MET के लिए ट्रिगर हैंडलर बनाता है
    • प्रत्येक इवेंट प्रकार के लिए ट्रिगर सेट बनाए रखता है
    • जांचता है कि ट्रिगर नियम पूरे हुए हैं या नहीं और फंक्शन को कॉल करता है

संचार तंत्र

  • डिस्पैचर और इनवोकर ब्रोकर-रहित पब्लिश/सबस्क्राइब मैसेजिंग का उपयोग करते हैं
  • इनवोकर अपने द्वारा संभाले जाने वाले ट्रिगर नियमों में इवेंट प्रकारों के आधार पर डिस्पैचर के इवेंट्स को सबस्क्राइब करते हैं
  • बहु-नोड, एकल-मशीन सेटअप के वितरित तैनाती का समर्थन करता है

स्केलेबिलिटी डिज़ाइन

  • अतिरिक्त इनवोकर्स तैनात करके संभाले जा सकने वाले ट्रिगर्स की संख्या बढ़ाना
  • आगे की प्रसंस्करण क्षमता बढ़ाने के लिए ट्रिगर विभाजन का समर्थन करता है
  • लक्ष्य प्रसंस्करण क्षमता: 100,000 से 1,000,000 अनुरोध/सेकंड (AWS Lambda एकल AZ लोड के संदर्भ में)

तकनीकी नवाचार बिंदु

  1. मूल प्लेटफॉर्म समर्थन: मल्टी-इवेंट लॉजिक को ट्रिगर तंत्र में एकीकृत करना, अनुप्रयोग परत में नहीं
  2. स्टेट मैनेजमेंट अनुकूलन: ट्रिगर इंजन में केंद्रीय रूप से स्टेट प्रबंधित करना, प्रत्येक इवेंट पर फंक्शन कॉल से बचना
  3. मॉड्यूलर आर्किटेक्चर: डिस्पैच और आह्वान घटकों को स्वतंत्र रूप से स्केल करने का समर्थन करता है
  4. ट्रिगर विभाजन: विभाजन के माध्यम से उच्च समवर्ती प्रसंस्करण क्षमता का समर्थन करता है

प्रयोगात्मक सेटअप

प्रोटोटाइप कार्यान्वयन

  • प्रोग्रामिंग भाषा: डिस्पैचर और इनवोकर के लिए Go भाषा
  • तैनाती प्लेटफॉर्म: Kubernetes क्लस्टर (Google Kubernetes Engine)
  • मैसेजिंग: ZeroMQ लाइब्रेरी
  • लोड बैलेंसिंग: Kubernetes LoadBalancer सेवा
  • फंक्शन प्लेटफॉर्म: HTTP का समर्थन करने वाला कोई भी FaaS प्लेटफॉर्म

मूल्यांकन परिदृश्य

प्रयोग 1: विलंबता परीक्षण

  • यूज़ केस: डेटा सेंटर इवेंट डिटेक्शन अनुप्रयोग
  • सेंसर प्रकार: तापमान, पैकेट हानि दर, शक्ति खपत
  • ट्रिगर नियम: OR(AND(5:packetLoss, 1:temperature), 1:powerConsumption)
  • बेसलाइन तुलना: PostgreSQL डेटाबेस का उपयोग करके मैन्युअल स्टेट मैनेजमेंट
  • लोड जनरेशन: k6 लोड जनरेटर, 30 मिनट परीक्षण

प्रयोग 2: समवर्ती अनुरोध परीक्षण

  • हार्डवेयर कॉन्फ़िगरेशन:
    • एकल-नोड: c7i.2xlarge (8 vCPU, 16 GiB)
    • चार-नोड: 4×c7i.2xlarge
    • लोड जनरेटर: c7i.16xlarge (64 vCPU, 128 GiB)
  • ट्रिगर नियम: 3:a (प्रत्येक तीन इवेंट्स पर एक बार ट्रिगर करें)
  • लोड: 1,024 बाइट यादृच्छिक वर्ण लोड

प्रयोग 3: समवर्ती ट्रिगर्स परीक्षण

  • हार्डवेयर: c7i.large (4 vCPU, 8 GiB)
  • ट्रिगर नियम: AND(2:a, 2:b), अधिकतम 1,024 समवर्ती ट्रिगर्स
  • लोड: 128 आभासी उपयोगकर्ता, 1,024 बाइट लोड

प्रयोगात्मक परिणाम

मुख्य परिणाम

विलंबता प्रदर्शन सुधार

  • इवेंट-आह्वान विलंबता में 62.5% कमी (माध्यिका)
  • फंक्शन कॉल की संख्या 4.3 गुना कम (बेसलाइन की तुलना में प्रत्येक इवेंट पर कॉल)
  • अनावश्यक फंक्शन कॉल ओवरहेड में महत्वपूर्ण कमी

थ्रूपुट प्रदर्शन

  • एकल-नोड कॉन्फ़िगरेशन: अधिकतम 131,012.7 अनुरोध/सेकंड (4,096 आभासी उपयोगकर्ता)
  • चार-नोड कॉन्फ़िगरेशन: अधिकतम 313,154.81 अनुरोध/सेकंड (64 आभासी उपयोगकर्ता)
  • थ्रूपुट समवर्ती अनुरोधों के साथ 2^11 अनुरोधों तक रैखिक रूप से बढ़ता है

समवर्ती ट्रिगर्स प्रदर्शन

  • एकल ट्रिगर: 236,601.77 अनुरोध/सेकंड
  • 8 ट्रिगर्स: 63,717.27 अनुरोध/सेकंड
  • 1,024 ट्रिगर्स: 883.67 अनुरोध/सेकंड
  • प्रदर्शन मुख्य रूप से CPU द्वारा सीमित है, ट्रिगर नियमों की जांच को समानांतर करके अनुकूलित किया जा सकता है

प्रयोगात्मक निष्कर्ष

  1. महत्वपूर्ण विलंबता सुधार: MET इंजन मैन्युअल स्टेट मैनेजमेंट विधि की तुलना में इवेंट प्रसंस्करण विलंबता को महत्वपूर्ण रूप से कम करता है
  2. अच्छी स्केलेबिलिटी: सिस्टम अच्छी क्षैतिज स्केलिंग क्षमता प्रदर्शित करता है
  3. उच्च थ्रूपुट: सीमित हार्डवेयर पर बड़े FaaS प्लेटफॉर्म के लिए आवश्यक प्रसंस्करण क्षमता प्राप्त करता है
  4. समवर्ती सीमा: एकल इनवोकर की समवर्ती ट्रिगर्स संख्या CPU द्वारा सीमित है, लेकिन विभाजन के माध्यम से कम किया जा सकता है

संबंधित कार्य

स्टेट मैनेजमेंट समाधान

  • Crucial: वितरित साझा ऑब्जेक्ट परत
  • Cloudburst: एकीकृत स्वचालित स्केलिंग कुंजी-मान स्टोर
  • Boki: लॉग API-आधारित स्टेट दृढ़ता
  • Faasm: WebAssembly रनटाइम के लिए मेमोरी क्षेत्र साझाकरण

वर्कफ़्लो ऑर्केस्ट्रेशन

  • TriggerFlow: Knative-आधारित कस्टम वर्कफ़्लो इंजन
  • FaaSFlow: FaaS कार्य नोड्स में वितरित वर्कफ़्लो शेड्यूलिंग
  • DataFlower: डेटा उपलब्धता-आधारित फंक्शन शेड्यूलिंग

मौजूदा समाधानों के साथ अंतर

इस पेपर का समाधान अद्वितीय है कि यह केवल तभी फंक्शन को कॉल करता है जब पूर्ण ट्रिगर शर्त पूरी हो, अनावश्यक निष्पादन को कम करता है, और दौड़ की स्थिति के लॉक तंत्र की आवश्यकता से बचता है।

निष्कर्ष और चर्चा

मुख्य निष्कर्ष

  1. मल्टी-इवेंट ट्रिगर्स FaaS प्लेटफॉर्म में मूल फैन-इन समर्थन की कमी की समस्या को प्रभावी ढंग से हल करते हैं
  2. MET इंजन कॉल विलंबता को महत्वपूर्ण रूप से कम करता है और संसाधन खपत को कम करता है
  3. सिस्टम बड़े पैमाने पर क्लाउड वातावरण में तैनाती के लिए प्रदर्शन क्षमता रखता है
  4. सर्वरलेस प्रतिमान के मुख्य लाभों को बनाए रखता है (ढीली युग्मन, स्वचालित स्केलिंग, न्यूनतम परिचालन ओवरहेड)

सीमाएं

  1. भौगोलिक वितरण सीमा: वर्तमान डिज़ाइन एकल-डेटा सेंटर बहु-नोड सेटअप पर केंद्रित है, भौगोलिक रूप से वितरित मल्टी-इवेंट ट्रिगर्स के लिए उपयुक्त नहीं है
  2. NOT शर्त समर्थन नहीं: वितरित वातावरण में किसी इवेंट प्रकार के प्राप्त न होने की गारंटी नहीं दी जा सकती, NOT शर्त समर्थित नहीं है
  3. इवेंट सिंक्रोनाइज़ेशन समस्या: सेंसर विफलता के कारण इवेंट हानि और सिंक्रोनाइज़ेशन समस्याओं को हल करने की आवश्यकता है

भविष्य की दिशा

  1. भौगोलिक वितरण समर्थन: इवेंट्स को ट्रैक करने के लिए संघर्ष-मुक्त प्रतिकृति डेटा प्रकार (CRDT) का उपयोग करना
  2. ट्रिगर प्रकार विस्तार: XOR और अन्य अधिक ट्रिगर प्रकारों का समर्थन करना
  3. दोष सहनशीलता तंत्र: समाप्त इवेंट्स को संभालने के लिए इवेंट जीवनकाल (TTL) तंत्र शुरू करना
  4. प्लेटफॉर्म एकीकरण: FaaS प्लेटफॉर्म के लोड बैलेंसिंग आदि कार्यों के साथ गहरा एकीकरण

गहन मूल्यांकन

शक्तियां

  1. समस्या पहचान सटीक: FaaS प्लेटफॉर्म में जटिल इवेंट प्रसंस्करण में मौलिक सीमा की सटीक पहचान
  2. समाधान डिज़ाइन तर्कसंगत: MET इंजन आर्किटेक्चर डिज़ाइन स्केलेबिलिटी और व्यावहारिकता पर विचार करता है
  3. पर्याप्त प्रयोग: विलंबता, थ्रूपुट, समवर्ती आदि कई आयामों से व्यापक मूल्यांकन
  4. उच्च व्यावहारिक मूल्य: वास्तविक अनुप्रयोगों में दर्द बिंदुओं को हल करता है, बहुत मजबूत व्यावहारिक मूल्य
  5. उत्कृष्ट प्रदर्शन: 62.5% विलंबता में कमी और 300,000+ अनुरोध/सेकंड की प्रसंस्करण क्षमता समाधान की प्रभावशीलता को साबित करती है

कमियां

  1. भौगोलिक वितरण सीमा: वैश्विक वितरित अनुप्रयोग परिदृश्यों के लिए अपर्याप्त समर्थन
  2. सरल दोष सहनशीलता तंत्र: नेटवर्क विभाजन, नोड विफलता आदि असामान्य स्थितियों के लिए अधूरा हैंडलिंग
  3. ट्रिगर नियम अभिव्यक्ति क्षमता: वर्तमान AND/OR संयोजन सभी जटिल व्यावसायिक परिदृश्यों को कवर नहीं कर सकते
  4. मौजूदा प्लेटफॉर्म एकीकरण: बाहरी घटक के रूप में एकीकरण, प्लेटफॉर्म आंतरिक अनुकूलन का पूर्ण लाभ नहीं उठा सकता

प्रभाव

  1. शैक्षणिक योगदान: FaaS क्षेत्र के लिए नई अनुसंधान दिशा और समाधान प्रदान करता है
  2. औद्योगिक मूल्य: मौजूदा FaaS प्लेटफॉर्म पर सीधे लागू किया जा सकता है, जटिल इवेंट प्रसंस्करण क्षमता में सुधार करता है
  3. मानकीकरण क्षमता: FaaS प्लेटफॉर्म मल्टी-इवेंट ट्रिगर के मानक कार्यान्वयन तरीके बन सकता है
  4. पुनरुत्पादनीयता: ओपन-सोर्स प्रोटोटाइप कार्यान्वयन अच्छी पुनरुत्पादनीयता प्रदान करता है

लागू परिदृश्य

  1. IoT डेटा प्रसंस्करण: कई सेंसर डेटा को एकत्रित करने की आवश्यकता वाले IoT अनुप्रयोग
  2. जटिल इवेंट प्रसंस्करण: वित्तीय लेनदेन निगरानी, नेटवर्क सुरक्षा डिटेक्शन आदि जिन्हें संबंधित विश्लेषण की आवश्यकता है
  3. वर्कफ़्लो ऑर्केस्ट्रेशन: कई पूर्व कार्यों के पूरा होने की प्रतीक्षा करने वाले सर्वरलेस वर्कफ़्लो
  4. बैच प्रसंस्करण अनुकूलन: दक्षता में सुधार के लिए कई छोटे इवेंट्स को एकत्रित करके बल्क प्रसंस्करण

संदर्भ

पेपर में 34 संबंधित संदर्भ उद्धृत हैं, मुख्य रूप से शामिल हैं:

  • FaaS प्लेटफॉर्म और ट्रिगर तंत्र अनुसंधान
  • सर्वरलेस वर्कफ़्लो ऑर्केस्ट्रेशन
  • स्टेट मैनेजमेंट और जटिल इवेंट प्रसंस्करण
  • प्रदर्शन मूल्यांकन और बेंचमार्किंग

मुख्य संदर्भ साहित्य में AWS Lambda आर्किटेक्चर विश्लेषण, सर्वरलेस कंप्यूटिंग सर्वेक्षण, और संबंधित वर्कफ़्लो ऑर्केस्ट्रेशन सिस्टम शामिल हैं।


यह पेपर FaaS प्लेटफॉर्म की एक महत्वपूर्ण सीमा के लिए एक नवीन समाधान प्रस्तावित करता है, जिसमें बहुत मजबूत सैद्धांतिक और व्यावहारिक मूल्य है। MET इंजन का डिज़ाइन प्रदर्शन और स्केलेबिलिटी दोनों पर विचार करता है, और प्रयोगात्मक मूल्यांकन समाधान की प्रभावशीलता को पूरी तरह से सत्यापित करता है। हालांकि भौगोलिक वितरण और दोष सहनशीलता के पहलुओं में सुधार की गुंजाइश है, लेकिन समग्र रूप से यह उच्च गुणवत्ता का अनुसंधान कार्य है।