Edge Computing System Under Wafer Manufacture Network
In the semiconductor manufacturing industry, the design and implementation of edge computing systems is critical
Since most modern systems are based on public clouds, the challenges and designs faced in a semiconductor manufacturing network built in an environment will be different
This article intends to discuss how we can design a ground-side edge computing system for environmental construction
邊緣計算系統在半導體製造網絡中的設計
在半導體製造業中,邊緣計算系統的設計和實施是至關重要的
相較於現代大多數基於公有雲的系統,在一個環境受限的半導體製造網絡中,所受到的挑戰與設計將截然不同
本文打算探討,我們可能如何能設計一套運用在環境受限的地端邊緣計算系統
Outline
- Design Considerations And Challenges
- Resource Constraints
 - Technology Stack
 
 - System Architecture Overview
- Design Overview
 - Architecture Components
 
 
Architecture diagram


Design Considerations And Challenges (設計考量與挑戰)
When we design an edge computing system, we must consider many factors
(當我們要進行邊緣計算系統的設計時,必須考慮到許多因素)
These factors include but are not limited to
(這些因素包括但不限於)
- Hardware resource limitations (硬體資源的限制)
 - Software technology stack selection (軟體技術棧的選擇)
 - System architecture design (系統架構的設計)
 - Overall technical capabilities of the team (團隊整體的技術能力)
 - System scalability (系統的可擴展性)
 - Ease of deployment and maintenance (部屬和維護的便利性)
 
Resource Constraints (資源限制)
A good architect should understand that there is no absolute good or bad architecture,
but the best choice made after considering multiple factors.
(一個好的架構設計師,應當能明白,架構沒有絕對的好壞,而是在多種因素的考量下,所做出最好的選擇)
Deployment hardware limitations and cost considerations (部屬硬體限制與成本考量)
In the semiconductor manufacturing network,
the resource limitation of the edge computing system is the primary consideration in the design.
(在半導體的製造網路中,邊緣計算系統的資源限制是設計的首要考量)
This means how customers can obtain the expected value and functions at a reasonable cost.
(這意味著客戶如何能以合理的成本,獲得期望的價值與功能)
For the technical development team, in most cases,
(對於技術開發團隊而言,絕大多數情況下)
The resource limitation of the ground edge computing system is due to the limitation of hardware equipment,
which is not like the cloud system, which can expand resources at any time.
(地端邊緣計算系統的資源限制是由於硬體設備的限制,這並不像雲端系統那樣,能夠隨時擴展資源)
Especially in the semiconductor manufacturing network,
the selection and configuration of hardware equipment are often strictly restricted.
(特別是在半導體製造網路中,硬體設備的選擇和配置往往受到嚴格的限制)
Choice of software technology stack (軟體技術棧的選擇)
When choosing a software technology stack,
the development team must consider not only the limitations of hardware resources,
but also the convenience of deployment and the commercial licensing of the technology stack.
(在選擇軟體技術棧時,開發團隊必須考慮到硬體資源的限制外,還必須考量部屬的便利性,與技術棧的商業授權)
This means that the chosen technology stack must be able to run on limited hardware resources,
while also taking into account the cost of commercial licensing.
(這意味著選擇的技術棧必須能夠在有限的硬體資源上運行,同時也要考慮到商業授權的成本)
In most cases,
many small and medium-sized development teams may first choose to design edge computing systems based on Docker containerization technology or container orchestration systems such as Kubernetes.
(大多數情況下,許多中小型開發團隊,第一時間或許會選擇,基於Docker的容器化技術,或是Kubernetes等容器編排系統,進行邊緣計算系統的設計)
But this will face several problems
(可這將會面臨幾個問題)
These technology stacks usually require high hardware resources, and in semiconductor manufacturing networks,
sufficient resources may not be available to support these technologies
(這些技術棧通常需要較高的硬體資源,並且在半導體製造網路中,可能無法獲得足夠的資源來支援這些技術)The commercial licensing costs of these technology stacks may exceed the budget,
especially when deployed on a large scale
(這些技術棧的商業授權成本可能會超出預算,特別是在大規模部署時)The learning curve of these technology stacks may impose an additional burden on the development team,
especially in semiconductor manufacturing networks,
where the development team may need to get started quickly
(這些技術棧的學習曲線可能會對開發團隊造成額外的負擔,特別是在半導體製造網路中,開發團隊可能需要快速上手)The maintenance and updates of these technology stacks may affect the stability of the system,
especially in semiconductor manufacturing networks, where system stability is critical
(這些技術棧的維護和更新可能會對系統的穩定性造成影響,特別是在半導體製造網路中,系統的穩定性是至關重要的)These technology stacks require extremely high technical capabilities of the subordinate personnel,
which will lead to a major difficulty in promoting the business model
(這些技術棧對於部屬的人員的技術能力要求極高,這將會導致商業模式推廣的一大困難)
Development team’s overall technical capabilities (開發團隊整體技術能力)
When designing an edge computing system,
the overall technical capabilities of the development team and the maintenance and operation team are also an important consideration.
(在設計邊緣計算系統時,開發團隊與維運部屬團隊的整體技術能力也是一個重要的考量因素)
We must provide a simple and easy-to-use system for front-line maintenance and operation personnel to ensure the stability and reliability of the system.
(我們必須為第一線的維運人員提供一個簡單易用的系統,這樣才能確保系統的穩定性和可靠性)
When we use Docker containerization technology extensively,
this will place extremely high demands on the technical capabilities of maintenance and operation personnel
(當我們大量使用Docker容器化技術時,這將會對維運人員的技術能力提出極高的要求)
This may cause maintenance and operation personnel to be unable to effectively manage and maintain the system,
thereby affecting the stability and reliability of the system
(這可能會導致維運人員無法有效地管理和維護系統,從而影響系統的穩定性和可靠性)
Business Considerations (商業考量)
When we are developing a system, business considerations are also an important factor.
(當我們在進行一套系統開發時,商業考量也是一個重要的因素)
Business considerations include but are not limited to
(商業考量包含但不限於)
- The system’s commercial licensing costs (系統的商業授權成本)
 - The system’s business model (系統的商業模式)
 - The system’s commercial promotion (系統的商業推廣)
 - The long-term development and maintenance costs for the enterprise (對於企業長遠的開發維護成本)
 - The system’s commercial value (系統的商業價值)
 - The speed of commercial iteration (商業的迭代速度)
 
In conclusion (結論)
In summary, when designing an edge computing system,
many factors must be considered, including hardware resource limitations,
the choice of software technology stack,
the overall technical capabilities of the development team,
and business considerations.
(綜上所述,在設計邊緣計算系統時,必須考慮到多種因素,包括硬體資源限制、軟體技術棧的選擇、開發團隊的整體技術能力以及商業考量等)
Next, this article will use the author’s past experience as an example to explore how to design an edge computing system suitable for restricted environments.
(而接下來,本文將以作者過往的經驗為例,探討如何設計一套適用於受限環境下的邊緣計算系統)
The challenges we will face are as follows
(我們將面臨的挑戰如下)
Hardware resource limitations (硬體資源的限制)
- How can the client obtain the expected value and functions at a reasonable cost?
Therefore, we can define that the reasonable cost is about a computer device of about 1,000 to 1,500 US dollars,
which is approximately equal to- CPU: Intel Core i5 或 AMD Ryzen 5
 - RAM: 16GB
 - Storage: 512GB SSD
 - Network: Gigabit Ethernet
 - Operating System: Windows 10/11 Pro 或 Linux (But most customers will choose Windows 10/11 Pro for control reasons.)
 
 
- How can the client obtain the expected value and functions at a reasonable cost?
 The overall technical capabilities of the team (團隊的整體技術能力)
- Field Application Engineer (現場應用工程師)
- Limited network knowledge, most of them are not even familiar with Windows network settings
(有限的網路知識,大多數甚至連Windows的網路設定都不熟悉) 
 - Limited network knowledge, most of them are not even familiar with Windows network settings
 - Software Engineer (軟體工程師)
- The developers in the team only have basic business application development skills and have little knowledge of system architecture, network protocols, operating systems, etc.
(在團隊中的開發者,只掌握了基礎的商業應用開發能力,對於系統架構、網路協定、作業系統等知識了解甚少) 
 - The developers in the team only have basic business application development skills and have little knowledge of system architecture, network protocols, operating systems, etc.
 
- Field Application Engineer (現場應用工程師)
 Business considerations (商業考量)
- With limited resources, we must avoid the subsequent development and maintenance expansion problem
(在有限的資源下,我們必須避免後續的開發維護膨脹問題) - Enterprises must be able to quickly promote business models and quickly iterate business needs.
(企業卻必須能夠快速地推廣商業模式,並且能夠快速地迭代商業需求) 
- With limited resources, we must avoid the subsequent development and maintenance expansion problem
 
In fact, such resource limitations are very common in small and medium-sized enterprises.
(實際上這樣的資源限制,在中小型企業中是非常常見的)
Small and medium-sized enterprises cannot have enough professional talents for development and maintenance like large enterprises.
(中小企業無法像大型企業一樣,有足夠的專業人才進行開發與維運部屬)
However, some failed business models lead to the only correct solution,
which requires a sufficiently powerful system architecture to support the operation of the business model.
(但某些失敗的商業模式,卻導致其唯一正解,需要一個足夠強大的系統架構,才能夠支撐起商業模式的運行)
Otherwise, corporate resources will continue to be consumed in the development and maintenance of the system,
and cannot support the operation of the business model.
(否則企業資源將會不斷的平白消耗在系統的開發與維護上,支撐不起商業模式的運行)
But even so, in this difficult environment,
I think we can still design and implement such a system architecture.
(但,即便如此,在這種艱難的環境下,我想我們仍能對於這樣的系統架構,進行設計與實現)
This means that we must design a system with low maintenance costs for the long-term development of the enterprise and can quickly iterate business needs.
(這意味著我們必須設計一套,對於企業長遠發展與維護成本較低的系統,並且能夠快速地迭代商業需求)
And this system must be able to run on limited hardware resources and provide stable and reliable services.
(並且這套系統必須能夠在受限的硬體資源上運行,並且能夠提供穩定可靠的服務)
「 A failed business model does not mean the failure of the system architecture. 」
(「失敗的商業模式,不代表系統架構的失敗」)
Measurement of system architecture design (系統架構設計的衡量)
Based on the considerations mentioned above, we will now explore how to design an edge computing system architecture suitable for constrained environments.
(以前所述的考量為基礎,接下來我們將探討如何設計一套適用於受限環境下的邊緣計算系統架構)
技術棧 (Technology Stack)
We will abandon all containerization technologies and choose a desktop application architecture for development.
(我們將捨棄一切容器化技術,並且選擇一套桌面應用程式架構開發)
This ensures that our system can run on limited hardware resources,
and the desktop application not only provides a simple and easy-to-use deployment interface for FAE,
but also provides an easy-to-interact interface for customers.
(這確保我們的系統能夠在有限的硬體資源上運行,並且桌面應用程式除了為FAE提供簡單易用的部屬操作介面外,也為客戶提供容易交互的介面)
The main reason why other development frameworks such as Qt were not chosen was to consider the commercial development iteration and maintenance costs.
(之所以沒有選用其他如Qt等開發框架,最主要的原因在於考量商業的開發迭代與維護成本)
Technology Stack Overview (技術棧概覽)
Electron: A framework for building cross-platform desktop applications using web technologies.
(Electron:用於使用網頁技術構建跨平台桌面應用程式的框架)Angular: A platform for building web applications, providing a robust framework for developing the user interface.
(Angular:用於構建網頁應用程式的平台,提供了一個強大的框架來開發使用者介面)TypeScript: A superset of JavaScript that adds static typing, making the code more maintainable and scalable
(TypeScript:JavaScript的超集,添加了靜態類型,使代碼更易於維護和擴展)
For more information about integration settings,
please refer to my other article Electron Development Framework Combining Angular and TypeScript
Architecture Design (架構的設計)
In the main design, my design concept mainly refers to the Minix operating system architecture design
(在主體設計上,我設計理念主要參考了Minix作業系統架構設計)
The reason why I choose the Microkernel architecture in this case is that I hope to ensure stability as much as possible in such an application scenario
(之所以在這種場合選擇Microkernel架構,是因為我希望在這樣的應用場景,盡可能確保穩定性)
Compared with the Monolithic Kernel architecture, the Microkernel architecture can provide higher stability and maintainability, but it also brings new derivative problems
(相對Monolithic Kernel架構來說,Microkernel架構能夠提供更高的穩定性和可維護性,但卻也帶來新的衍伸問題)
In terms of data processing and communication performance,
it is not as good as the Monolithic Kernel architecture,
but in this restricted environment and the pursuit of stability,
considering the data volume of IoT, there are several characteristics
(在資料處理與通訊的效能上不如Monolithic Kernel架構,但在這種受限環境下與對於穩定性的追求,考量到IoT的資料量有幾個特性)
- The data volume is usually small (資料量通常較小)
 - The requirements for real-time are lower than those of high-frequency trading systems (對於即時性的要求,相較於高頻交易系統來說較低)
 
Under such a premise, the Microkernel architecture was chosen
(在這樣的前提下,因此選擇了Microkernel架構)
Advantages of the Architecture (架構的優勢)
- High Stability & Fault Tolerance (高穩定性與容錯性)
 - Excellent Flexibility & Extensibility (極佳的靈活性與擴展性)
 - Easier to Develop & Debug (易於開發與除錯)
 
Challenges of the Architecture (架構的挑戰)
- Performance Overhead & Latency (性能開銷與延遲)
 - Complexity of IPC Design
 - Overall Design Complexity (整體設計的複雜度)
 
Architecture Design Summary (架構設計總結)
The greatest value of this architecture is not to “imitate” the operating system,
but to build a more advanced “Application Operating Platform” or “Software-Defined Virtual Machine” on top of the operating system that is tailored for application scenarios.
The core design of this system architecture refers to the Minix operating system, which is famous for its Microkernel concept.
It aims to provide an extremely stable operating foundation for specific Edge Computing and IoT application scenarios.
The choice of this architecture is based on a deep trade-off of scenario requirements.
In typical IoT applications, the amount of data transmission is relatively small,
and the requirements for immediacy are not as strict as those for high-frequency trading systems.
This makes the long-term stability and maintainability of the system a higher priority than extreme performance.
However, we also face the challenges faced by this architecture, which are mainly reflected in the performance overhead and potential delays caused by frequent inter-process communication (IPC),
as well as the overall design complexity caused by managing many independent services.
In summary, this architecture is a well-thought-out engineering decision.
It deliberately sacrifices some performance in exchange for stability, security,
and flexibility that are critical in edge and IoT environments.
This makes it one of the ideal solutions that can operate reliably for a long time in harsh environments while being flexible to evolve.
這套架構最大的價值所在
並非在「模仿」作業系統,而是在作業系統之上,建立一個更進階的、專為應用場景量身打造的「應用程式作業平台 (Application Operating Platform)」或「軟體定義的虛擬主機 (Software-Defined Virtual Machine)」。
本系統架構的核心設計,參考了以Microkernel理念著稱的 Minix 作業系統
旨在為特定的Edge Computing及IoT應用場景提供一個極致穩定的運行基礎
此架構的選擇,是基於對場景需求的深度權衡,在典型的IoT應用中,數據傳輸量相對較小,且對即時性的要求不如高頻交易等系統嚴苛,這使得系統的長期穩定性與可維護性成為比極致性能更優先的考量
然而,我們也正視此架構所面臨的挑戰,主要體現在因頻繁的進程間通信(IPC)所帶來的性能開銷與潛在延遲,以及管理眾多獨立服務所引發的整體設計複雜度
綜上所述,本架構是一項深思熟慮的工程決策
它刻意犧牲了部分性能,以換取在邊緣與物聯網環境中至關重要的穩定性、安全性與靈活性
這使得它成為一個能夠在嚴苛環境下長期可靠運作,同時又能靈活演進的理想解決方案之一