Please use this identifier to cite or link to this item: http://hdl.handle.net/11527/16494
Title: Kare piramit yapılı modüler çok işlemcili bir gerçek zaman sistemi
Other Titles: A Modular real-time multi-processor system with square pyramid structure
Authors: Harmancı,  A. Emre
Akgün, B. Tevfik
19319
Kontrol ve Otomasyon Mühendisliği
Control and Automation Engineering
Keywords: Gerçek zamanlı sistemler
Çok işlemcili sistemler
İşletim sistemleri
Real time systems
Multiprocessor systems
Operating systems
Issue Date: 1991
Publisher: Fen Bilimleri Enstitüsü
Institute of Science and Technology
Abstract: Bu çalışmada özel bir çok işlemcili bilgisayar sistemi yapısı olan Kare Piramit yapısı incelenmiştir. önerilen bu yapıya uygun bir deneysel sistem gerçekleştirilmiştir. Bu sistem için, gerçek samanda ve çok görevli çalışmalara uygun bir işletim sistemi çekirdeği hazırlanmış ve bu çekirdek donanımda yer alan işlemci birimlerinin her birine yüklenmiştir. Sistemi denetlemekte kullanılan kişisel bilgisayara ve sistemin düğüm işlemcilerine dağınık yapıda bir denetim programı hazırlanmıştır. Bu denetim programı, kişisel bilgisayara ve sistemin tüm düğüm işlemcilerine ayrı ayrı bölümler olarak yerleştirilmiştir. Deneme amacına yönelik uygulama programları hazırlanmıştır. Çok işlemcili modüler bir sisteme örnek olarak, MIMD türünde yakın bağlı bilgisayar sınıfından kare piramit bağlantılı ve çok boyutlu statik şebeke üzerinde mesaj anahtarlama düzenine sahip bir sistem gerçeklenmiştir. Kare piramit bağlantı yapısı ile, sis temde yer alan düğüm işlemcilerinin hiyerarşik bağlantı sı önerilmektedir. Dörtlü modül olarak önerilen yerleşim düzeni 4 düğüm işlemcisini kapsar. Dörtlü modül içi düğüm işlemcileri, komşuluk ilişkilerine göre atanmış hatlarla oluşturulan tam bağlantılı bir yapı gösterirler. Dikey bağlantı hatları, genel mesaj yolu ve paylaşılan bellek yolu olarak iki farklı yapılı yolu kapsar. Dörtlü modül içi düğüm işlemcileri arasında ise yatay bağlantı hatları olarak sadece atanmış mesaj yolları vardır.Deney sel sistemde, önerilen bağlantı yapısını oluşturan hatlar üzerinden kısa veri katarı ve denetim bilgileri içeren mesajlar taşınır. Büyük veri bloklarının hızlı aktarımını sağlamak amacına yönelik olarak ta sistemde paylaşılan belleklerin yer alması öngörülmüştür. Çalışmada, Düğüm işlemcilerinin paylaşılan belleklere olan erişimlerini zaman içinde düzenlemesini sağlayan bir erişim yöntemi önerilmiştir. Çekirdek yazılımının yarattığı ve yönetimi üstlendiği sistem nesneleri, işlemci için yerel ve bir çok işlemci tarafından paylaşılan sistem nesneleri olarak iki grupta toplanabilir. İşlemci için yerel sistem nesneleri arasında görevler, semaforlar, olay bayrakları, posta kutuları ve süre aşımı uyarıcıları sayılabilir. Paylaşılan sistem nesneleri olarak; düğüm işlemcileri arasındaki mesaj aktarımlarına, ' senkronizasyon ilkeli aktarımına ve blok veri aktarımına ilişkin veri kuyrukları ve görev kuyrukları yer alırlar.
The subject of this study is Real-time Multi-processor systems: a special multi-processor computinq structure, the "Square Pyramid" structure, was investiaated and an experimental system was implemented. The experimental system consists of five processinq units and inter connection hardware related to this structure. An operating system kernel that supports the real- time multi- taskinq activities was prepared and loaded to each processinq unit. A monitor program was desiqned to control the system. Monitoring was done using a personel computer, sections of the monitor program were placed on the personal computer and node processors of the system. Some application programs were then executed on the multi- processor system and, it was observed that the hardware and the software worked together properly and the performance of the experimental system was at the level envisaged. The implemented system, i.e. a modular multi-processor system with square pyramid interconnection structure, falls into the MIMD Closely-coupled computer system class. Such a system supports message switching over a multi dimensional static network. It is designed especially for process control applications such as robot or vehicle control, and general computing applications where the physical distance between nodes stre not very long. In the multi-level hierarchical connection scheme of the node processors with the square pyramid interconnection structure on each level "m" there sire 4**m (0<=m« system where the communication protocols are carried out by node processors that contain different kinds of processing elements. The processing element consists of a microprocessor that controls all node processes and local resources. It is identical for all node processors and is constructed as a single board computer. The communication element contains the hardware that supports the message paths which make-up the square pyramid structure. The message path consists of parallel data lines and various control lines. Node processors are equiped with the path buffer interface in the direc tion of higher level end. and a data buffer interface in the direction of the lower level end of the qeneral message path. A sinqle upper qeneral messaqe path is extented to the path buffer interfaces of each node processor in a quad-module. On each node processor in a quad-module, there is a data buffer interface in the direction of the riqht neighbour messaqe path and there is a path buffer interface in the direction of the left neighbour message path. For the diagonal messaqe path, even numbered node processors contain a data buffer interface, odd numbered node processors contain a path buffer interface. Shared memory is partitioned into 2 Kbyte segments in order to provide a flexible arrangement and not to modify the shared bus connection lines between the node proces sors in case of memory extension. On access to shared memory, higher-level node processors produce lower level node processor identity and address of memory location within a segment. Segment register hardware related to a shared memory is attached to that shared memory. Thus, segment management is also carried out by the node pro cessor that owns the shared memory. This structure also supports the broadcast type of transmission, i.e. the transfer of a data block to more than one node processor simul taneously. The proposed method to access shared memory differs from both the bus-arbiter method and the time-slicinq method. The goal of this new method is the implementation of the model with a simple hardware, keeping its modular- characteristics with interleaved memory accesses principle. The shared memory access periods of node processors are computed by an expression. The result of this expression is that a node processor can access the shared memory in its hardware without waitinq with lower priority, and it can access shared memory in lower levels with delays that grow as the number of level increases with hiqher priori ty. In case of dense access requests» one time slot is allocated to each node processor. For the experimental system, a real-time kernel of "seperate supervisor" operatinq system which is suitable to closely coupled computer systems was prepared. Iden tical kernels were loaded into all node processors. System objects that are created and manaqed by the kernel may be classified into two groups: those that are local to a processor, and those which are shared by several processors. Local system objects ares tasks, semaphores, event flaqs, mailboxes, watchdoqs. Shared system objects include data and task queues related either to messaqe transmission between processors quad- module, or to qlobal messaqe transmission between node processors, or to transmission of synchronization primitives, or to block data transmission. The kernel allows for a maximum of thirty-two tasks on a node processor. Tasks are described and processed by means of the "task descriptor". A task may be in one of the following six task states: ready, blocked, running, waiting, suspended and waitinq- suspended. Tasks are placed into different system queues by the kernel. 256 different levels of priority may be assigned to tasks. A scheduler driven by a priority-preemptive scheme selects the highest priority task from the ready queue. The priority of a task may be chosen to be static or dynamic. Tasks may delay themselves for specific periods of time. Cyclic tasks that periodically enter into the ready state may also be defined. The kernel executes certain system actions on system objects with system calls. Signal wait, conditional wait actions may be performed on 32 different semaphores. In the system, 8 event flags form a group and there exist 32 event flag groups. Tasks may change state according to the state of an event flaq or to the state of event flags in a certain group. The kernel supports 32 mailboxes structured as multiple-send- er/single-receiver mailboxes either locally or in a distributed manner. The basic activities defined on a mailbox are send, receive, blocked send and reply. xi The transmission between node processors and the transfer of larqe blocks of data Bre carried out by means of the system objects that provide multi-processor capabilities to the kernel software. Three types of exception han dlers can be reqistrated independently in the system ; handlers for exceptions occurinq in a particular task, handlers common for all tasks and, handlers for the kernel. A real time clock manaqament is also present to process time and date information in the system. A monitor program is prepared to carry out control and testing activities over a personal computer actinq as host. Parts of the monitor program Bre distributed amonq the personal computer and node processors. Parts of the monitor proqram that Bre installed on the personal computer and the node processors Bre executed according to the manager/agent principle. The manager monitor program on the personal computer receives the action request to be carried out from the user and transmits it to the node processor. The agent monitor program on the node processor carries out the actions that correspond to the requests. The monitor program provides and manages the interaction between the user and the node processors, and provides the user with initialization, execution and observation facilities. For the experimental system an application algorithm for two- dimensional convolution was prepared. Using this algorithm, various experiments which give the performance of the system were performed. By measuring the processing times related to different experiments, the effect of the number of node processors on the solution time were obtained. The algorithm was applied in the form of two different programs. In the first application program, a single task takes place on each node processor- such that this task carries out the convolution procedure and manages of the operation of the system. In the second application program, additional tasks Bre present on each node processors. The second application program displays a more complex multitasking arrangement with the additional tasks. 
Description: Tez (Doktora) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 1991
Thesis (Ph.D.) -- İstanbul Technical University, Institute of Science and Technology, 1991
URI: http://hdl.handle.net/11527/16494
Appears in Collections:Kontrol ve Otomasyon Mühendisliği Lisansüstü Programı - Doktora

Files in This Item:
File Description SizeFormat 
19319.pdf9.61 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.