What is event-driven architecture (EDA), and how does it work?
✍ Nikki Siapno
Quite a lot of the tasks modern-day systems are required to do are in response to changes in state.
Adding an item to a shopping cart, liking a post, and paying a bill are all state changes that trigger a set of tasks in their respective systems.
This requirement has paved the way for a popular approach to system architecture known as event-driven architecture (EDA).
Event-driven architecture has four main components:
1) Events
These are significant changes in state. For example, a user signing up to a trial might be an event in a SaaS product. They're generally immutable, typically lightweight and can carry a payload containing information about the change in state.
2) Producers
The role of a producer is to detect or cause a change in state, and then generate an event that represents this change. The change can be initiated by a variety of sources such as system processes, user interactions, and external triggers.
3) Consumers
Consumers are the entities that are interested in and react to events. They subscribe to specific types of events and execute when those events occur.
4) Channels
Meanwhile, channels facilitate sending events between producers and consumers.
Advantages of EDA:
🟢 Decoupling: producers and consumers operate independently, enhancing system flexibility and maintainability.
🟢 Scalability: EDA can efficiently handle a surge in events, making it suitable for systems with varying loads.
🟢 Real-time responsiveness: systems can react immediately to state changes, enhancing user experience and system reliability.
🟢 Resilience: failures in one component don't necessarily cascade through the system, thanks to the buffering capabilities of many channels.
Use cases:
🔸 IoT systems: devices and sensors in #IoT setups generate a plethora of events that EDA can efficiently manage.
🔸 Microservices: EDA facilitates communication between decoupled microservices, ensuring smooth system operations.
🔸 Real-time analytics: immediate processing and analysis of data as it's generated is a forte of EDA.
Disadvantages:
🔴 Complexity: tracing and debugging issues in an event-driven system can be more challenging than in traditional architectures.
🔴 Event order: ensuring events are processed in the correct sequence, especially in distributed setups, can be tricky.
🔴 Potential overhead: introducing a message broker or channel can add latency, especially if not optimized.
While EDA offers a robust framework for building dynamic, responsive systems, it's essential to consider its potential pitfalls. Like any architecture, it works best when applied thoughtfully to the right scenarios.
#systemdesign
#systemarchitecture
#IoT
@embedded
✍ Nikki Siapno
Quite a lot of the tasks modern-day systems are required to do are in response to changes in state.
Adding an item to a shopping cart, liking a post, and paying a bill are all state changes that trigger a set of tasks in their respective systems.
This requirement has paved the way for a popular approach to system architecture known as event-driven architecture (EDA).
Event-driven architecture has four main components:
1) Events
These are significant changes in state. For example, a user signing up to a trial might be an event in a SaaS product. They're generally immutable, typically lightweight and can carry a payload containing information about the change in state.
2) Producers
The role of a producer is to detect or cause a change in state, and then generate an event that represents this change. The change can be initiated by a variety of sources such as system processes, user interactions, and external triggers.
3) Consumers
Consumers are the entities that are interested in and react to events. They subscribe to specific types of events and execute when those events occur.
4) Channels
Meanwhile, channels facilitate sending events between producers and consumers.
Advantages of EDA:
🟢 Decoupling: producers and consumers operate independently, enhancing system flexibility and maintainability.
🟢 Scalability: EDA can efficiently handle a surge in events, making it suitable for systems with varying loads.
🟢 Real-time responsiveness: systems can react immediately to state changes, enhancing user experience and system reliability.
🟢 Resilience: failures in one component don't necessarily cascade through the system, thanks to the buffering capabilities of many channels.
Use cases:
🔸 IoT systems: devices and sensors in #IoT setups generate a plethora of events that EDA can efficiently manage.
🔸 Microservices: EDA facilitates communication between decoupled microservices, ensuring smooth system operations.
🔸 Real-time analytics: immediate processing and analysis of data as it's generated is a forte of EDA.
Disadvantages:
🔴 Complexity: tracing and debugging issues in an event-driven system can be more challenging than in traditional architectures.
🔴 Event order: ensuring events are processed in the correct sequence, especially in distributed setups, can be tricky.
🔴 Potential overhead: introducing a message broker or channel can add latency, especially if not optimized.
While EDA offers a robust framework for building dynamic, responsive systems, it's essential to consider its potential pitfalls. Like any architecture, it works best when applied thoughtfully to the right scenarios.
#systemdesign
#systemarchitecture
#IoT
@embedded
Embedded Academy
#تصویر ؛ آقای جان وارنر باکوس (1924-2007) از دانشمندان آمریکایی علوم کامپیوتر و مخترع زبان #FORTRAN . از نکات جالب درباره او داستان موفقیت پرفراز و نشیب او میباشد. #پیشگامان @embedded
Top 10 Programming Language in 2024
Sourse:
https://www.tiobe.com/tiobe-index/
PHP exited from Top 10 list and replaced by Go.
The TIOBE index is an indicator of the popularity of programming languages and not about best programming language.
#Programming
@embedded
Sourse:
https://www.tiobe.com/tiobe-index/
PHP exited from Top 10 list and replaced by Go.
The TIOBE index is an indicator of the popularity of programming languages and not about best programming language.
#Programming
@embedded
وجوه مختلف از اینترنت اشیا
دیدگاه معناگرا: این دیدگاه بر اهمیت معنای دادهها و اطلاعات تأکید دارد و هدف آن ایجاد ارتباطات معنادار میان دادهها است.
شیگرا: این رویکرد بر اساس مدلسازی اشیاء و تعاملات آنها با یکدیگر بنا شده و به توسعه نرمافزار و سیستمهای اطلاعاتی کمک میکند.
اینترنتگرا: این دیدگاه بر اساس قابلیتها و ویژگیهای شبکههای اینترنتی شکل گرفته و به طراحی و پیادهسازی سیستمهایی میپردازد که به طور مؤثر از زیرساختهای اینترنت استفاده میکنند.
Semantic Perspective: This perspective emphasizes the importance of the meaning of data and information, aiming to create meaningful connections between data.
Object-Oriented Perspective: This approach is based on modeling objects and their interactions, aiding in the development of software and information systems.
Internet-Centric Perspective: This viewpoint is shaped by the capabilities and features of internet networks, focusing on designing and implementing systems that effectively utilize internet infrastructure.
#IoT
@embedded
دیدگاه معناگرا: این دیدگاه بر اهمیت معنای دادهها و اطلاعات تأکید دارد و هدف آن ایجاد ارتباطات معنادار میان دادهها است.
شیگرا: این رویکرد بر اساس مدلسازی اشیاء و تعاملات آنها با یکدیگر بنا شده و به توسعه نرمافزار و سیستمهای اطلاعاتی کمک میکند.
اینترنتگرا: این دیدگاه بر اساس قابلیتها و ویژگیهای شبکههای اینترنتی شکل گرفته و به طراحی و پیادهسازی سیستمهایی میپردازد که به طور مؤثر از زیرساختهای اینترنت استفاده میکنند.
Semantic Perspective: This perspective emphasizes the importance of the meaning of data and information, aiming to create meaningful connections between data.
Object-Oriented Perspective: This approach is based on modeling objects and their interactions, aiding in the development of software and information systems.
Internet-Centric Perspective: This viewpoint is shaped by the capabilities and features of internet networks, focusing on designing and implementing systems that effectively utilize internet infrastructure.
#IoT
@embedded
دامپینگ چینی، اینبار هوش مصنوعی!
✍ عادل ب.
رقابت ابرقدرتها در زمینه هوشمصنوعی، از مرحله شعار به رونمایی رسیده است. رونمایی از هوش مصنوعی چینی DeepSeek تا این لحظه باعث کاهش حداقل ۱ تریلیون دلار از ارزش بازار سرمایه آمریکا شده است.
انتشار متن باز مدل و ارایه رایگان این مدل برخلاف مدلهایی نظیر ChatGPT از یک سو و از سوی دیگر سادگی کد و نیازمندی سختافزاری کمتر و هزینه به مراتب کمتر (تخمین زده میشود ۱ به ۴۵) هزینه گزاف شرکتهای آمریکایی برای توسعه هوش مصنوعی را برای سرمایهگذاران غیرقابل توجیه تعبیر میکند.
این موفقیت هرچند چشمگیر، اما هنوز برای مقایسه نهایی و اعلام برنده زود است. هم هنوز زمان برای مقایسههای دقیق نیاز است، هم احتمالا از فرایند knowledge distillation برای توسعه این مدل استفاده کرده باشند که ممکن است شرکتهای رقیب مدلها را دسترس عموم قرار ندهند.
بهرحال معلوم نیست این یک «دامپینگ چینی» با ارایه مدل ضعیف ولی رایگان و در جهت اهداف شوم چین است یا یک موفقیت چشمگیر و شکستن انحصار؟ در هر صورت «جدال ai» هم به جنگ تراشه اضافه شد.
#Ai
#China
#usa
@embedded
✍ عادل ب.
رقابت ابرقدرتها در زمینه هوشمصنوعی، از مرحله شعار به رونمایی رسیده است. رونمایی از هوش مصنوعی چینی DeepSeek تا این لحظه باعث کاهش حداقل ۱ تریلیون دلار از ارزش بازار سرمایه آمریکا شده است.
انتشار متن باز مدل و ارایه رایگان این مدل برخلاف مدلهایی نظیر ChatGPT از یک سو و از سوی دیگر سادگی کد و نیازمندی سختافزاری کمتر و هزینه به مراتب کمتر (تخمین زده میشود ۱ به ۴۵) هزینه گزاف شرکتهای آمریکایی برای توسعه هوش مصنوعی را برای سرمایهگذاران غیرقابل توجیه تعبیر میکند.
این موفقیت هرچند چشمگیر، اما هنوز برای مقایسه نهایی و اعلام برنده زود است. هم هنوز زمان برای مقایسههای دقیق نیاز است، هم احتمالا از فرایند knowledge distillation برای توسعه این مدل استفاده کرده باشند که ممکن است شرکتهای رقیب مدلها را دسترس عموم قرار ندهند.
بهرحال معلوم نیست این یک «دامپینگ چینی» با ارایه مدل ضعیف ولی رایگان و در جهت اهداف شوم چین است یا یک موفقیت چشمگیر و شکستن انحصار؟ در هر صورت «جدال ai» هم به جنگ تراشه اضافه شد.
#Ai
#China
#usa
@embedded
Embedded Academy
#دانلود_کتاب آموزش درایور نویسی #لینوکس ویژه توسعه دهندگان سامانه های نهفته از اینجا بخوانید: https://lwn.net/Kernel/LDD3 #Driver #Linux #embedded_linux @embedded
Media is too big
VIEW IN TELEGRAM
LinuxPDF
This is Linux running inside a PDF file via a RISC-V emulator, which is based on TinyEMU.
https://github.com/ading2210/linuxpdf
@embedded
This is Linux running inside a PDF file via a RISC-V emulator, which is based on TinyEMU.
https://github.com/ading2210/linuxpdf
@embedded
نوروزتان پیروز
آرزو میکنم امسال، هیچ ۴۰۴ای در مسیر موفقیت نداشته باشید و امسال براتون ۲۰۰ باشه (:
آرزو میکنم امسال، هیچ ۴۰۴ای در مسیر موفقیت نداشته باشید و امسال براتون ۲۰۰ باشه (:
#آگهی_استخدام
خوارزم گستر نوین
جذب نیروی متعهد و مستعد در حوزه های متنوع علوم کامپیوتر و الکترونیک
با حقوق و مزایای متناسب با توانمندی فردی
رزومه خود را به ایمیل زیر ارسال نمایید.
[email protected]
@embedded
خوارزم گستر نوین
جذب نیروی متعهد و مستعد در حوزه های متنوع علوم کامپیوتر و الکترونیک
با حقوق و مزایای متناسب با توانمندی فردی
رزومه خود را به ایمیل زیر ارسال نمایید.
[email protected]
@embedded
Embedded Academy
Library introduction: libcpr (c++) "cpr" stands for "Cpp Request" like the Python Request library. This library is a simple wrapper around libcurl but powers you to code faster and less mistakes. Read more about it #cpp #libcurl @embedded
نکات برنامهنویسی برای سیستمهای نهفته
مقاله "برنامهنویسی ایمن و کارآمد C++ برای سیستمهای نهفته" با تدریس آندریاس فرتیگ، مطلبی عالی برای یادگیری تکنیکهای مدرن C++ است. این دوره بر ویژگیهای جدید مانند constexpr و consteval تمرکز دارد و با مثالهای کاربردی مانند پردازش آدرس MAC، چگونگی نوشتن کدهای بهینه و بدون خطا را آموزش میدهد. مناسب برای توسعهدهندگانی که میخواهند از قابلیتهای C++23 در محیطهای نهفته استفاده کنند.
The "Safe and Efficient C++ for Embedded Environments" workshop by Andreas Fertig is a great opportunity to learn modern C++ techniques. Focusing on features like constexpr and consteval, it uses practical examples (like MAC address processing) to teach how to write optimized and error-free code. Perfect for developers looking to leverage C++23 in embedded systems.
https://andreasfertig.com/blog/2025/02/cpp-for-embedded-systems-constexpr-and-consteval/
#Cpp
#EmbeddedSoftware
#EmbeddedSystems
@embedded
مقاله "برنامهنویسی ایمن و کارآمد C++ برای سیستمهای نهفته" با تدریس آندریاس فرتیگ، مطلبی عالی برای یادگیری تکنیکهای مدرن C++ است. این دوره بر ویژگیهای جدید مانند constexpr و consteval تمرکز دارد و با مثالهای کاربردی مانند پردازش آدرس MAC، چگونگی نوشتن کدهای بهینه و بدون خطا را آموزش میدهد. مناسب برای توسعهدهندگانی که میخواهند از قابلیتهای C++23 در محیطهای نهفته استفاده کنند.
The "Safe and Efficient C++ for Embedded Environments" workshop by Andreas Fertig is a great opportunity to learn modern C++ techniques. Focusing on features like constexpr and consteval, it uses practical examples (like MAC address processing) to teach how to write optimized and error-free code. Perfect for developers looking to leverage C++23 in embedded systems.
https://andreasfertig.com/blog/2025/02/cpp-for-embedded-systems-constexpr-and-consteval/
#Cpp
#EmbeddedSoftware
#EmbeddedSystems
@embedded
Andreasfertig
C++ for embedded systems: constexpr and consteval
In today's post, I'll learn how modern C++ can influence the code you write for your embedded system. You will see code using up to C++...
توسعه مبتنی بر CUDA با CUTLASS 4.0 آسان میشود.
توسعه مبتنی بر CUDA با چالش و دشواری همراه بود که خصوصا استفاده از آن برای نمونهسازی اولیه منطقی نبود که با معرفی فریمورک جدید CUTLASS مشکل برطرف شد.
کوتلاس، یک فریمورک توسعه کرنلهای CUDA با ترکیب پایتون و C++ ارائه میدهد. با استفاده از DSLهای پایتون مانند CuTe، مفاهیم پیشرفته مانند چینش دادهها (Layouts)، تانسورها و عملیات اتمی سختافزاری (Atoms) به سادگی قابل پیادهسازی هستند. این روش با کامپایل JIT از طریق MLIR و ptxas، امکان توسعه سریعتر، اشکالزدایی آسانتر و کارایی نزدیک به کد C++ را فراهم میکند. CUTLASS DSLها جایگزین نسخه C++ نیستند، بلکه ابزاری برای پروتوتایپ سریع و یادگیری آسانتر مفاهیم GPU هستند. نسخه فعلی (بتا) محدودیتهایی دارد، اما نسخه نهایی تا تابستان ۲۰۲۵ منتشر میشود.
NVIDIA’s CUTLASS 4.0 merges Python’s ease with CUDA’s power via DSLs like CuTe, simplifying GPU kernel dev. Key features:
- Layouts, Tensors & Atoms for hardware-aware programming
- Pythonic syntax + JIT compilation (MLIR/ptxas) for fast iteration
- Near-C++ performance with optimized CUTLASS primitives
- Not a C++ replacement—supports rapid prototyping & education
Currently in public beta (sometomorrow m limitations), with full release planned for Summer 2025. Ideal for researchers, students, and perf engineers.
Read more from Nvidia
مطلب مرتبط:
استارتاپهای تراشهای؟
#GPU
#Nvidia
#DeepLearning
#EmbeddedAI
@embedded
توسعه مبتنی بر CUDA با چالش و دشواری همراه بود که خصوصا استفاده از آن برای نمونهسازی اولیه منطقی نبود که با معرفی فریمورک جدید CUTLASS مشکل برطرف شد.
کوتلاس، یک فریمورک توسعه کرنلهای CUDA با ترکیب پایتون و C++ ارائه میدهد. با استفاده از DSLهای پایتون مانند CuTe، مفاهیم پیشرفته مانند چینش دادهها (Layouts)، تانسورها و عملیات اتمی سختافزاری (Atoms) به سادگی قابل پیادهسازی هستند. این روش با کامپایل JIT از طریق MLIR و ptxas، امکان توسعه سریعتر، اشکالزدایی آسانتر و کارایی نزدیک به کد C++ را فراهم میکند. CUTLASS DSLها جایگزین نسخه C++ نیستند، بلکه ابزاری برای پروتوتایپ سریع و یادگیری آسانتر مفاهیم GPU هستند. نسخه فعلی (بتا) محدودیتهایی دارد، اما نسخه نهایی تا تابستان ۲۰۲۵ منتشر میشود.
NVIDIA’s CUTLASS 4.0 merges Python’s ease with CUDA’s power via DSLs like CuTe, simplifying GPU kernel dev. Key features:
- Layouts, Tensors & Atoms for hardware-aware programming
- Pythonic syntax + JIT compilation (MLIR/ptxas) for fast iteration
- Near-C++ performance with optimized CUTLASS primitives
- Not a C++ replacement—supports rapid prototyping & education
Currently in public beta (sometomorrow m limitations), with full release planned for Summer 2025. Ideal for researchers, students, and perf engineers.
Read more from Nvidia
مطلب مرتبط:
استارتاپهای تراشهای؟
#GPU
#Nvidia
#DeepLearning
#EmbeddedAI
@embedded
Embedded Academy
#مقایسه؛ مقایسه توان مصرفی و زمان پردازش برای ساخت مدل با فریمورک #یادگیری_عمیق caffe بر روی #zynq و #GPU . فایل کامل: https://goo.gl/eWnu8y #AI #caffe #embeddedAI @embedded
نکته!
حجم تحولات حوزه هوش مصنوعی و یادگیری عمیق به اندازهای عمیق بوده که مثلا فریمورکی مثل caffe را که سال ۲۰۱۷، xilinx برای مقایسه توان پردازشی از آن استفاده کرد و البته خیلی از پروژههای پردازش تصویر با آن انجام میشد را شما اگر مصاحبه هوش مصنوعی داشته باشید، احتمالا متقاضی آن شغل، حتی نشناسد!
این یعنی کسبوکارهای حوزه هوشمصنوعی با چالش بزرگی مواجه هستند و باید روز آمدی خودشان را حفظ کنند.
@embedded
حجم تحولات حوزه هوش مصنوعی و یادگیری عمیق به اندازهای عمیق بوده که مثلا فریمورکی مثل caffe را که سال ۲۰۱۷، xilinx برای مقایسه توان پردازشی از آن استفاده کرد و البته خیلی از پروژههای پردازش تصویر با آن انجام میشد را شما اگر مصاحبه هوش مصنوعی داشته باشید، احتمالا متقاضی آن شغل، حتی نشناسد!
این یعنی کسبوکارهای حوزه هوشمصنوعی با چالش بزرگی مواجه هستند و باید روز آمدی خودشان را حفظ کنند.
@embedded