Geri Dön

Bağ gerçek zamanlı dağıtılmış sisteminde görev göç ettirme ve yük dengeleme

Başlık çevirisi mevcut değil.

  1. Tez No: 55498
  2. Yazar: ERSOY PEKŞEN
  3. Danışmanlar: Y.DOÇ.DR. B. TEVFİK AKGÜN
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 1996
  8. Dil: Türkçe
  9. Üniversite: Akdeniz Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Belirtilmemiş.
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 95

Özet

BA? GERÇEK ZAMANLI DA?ITILMIŞ İŞLETİM SİSTEMİNDE GÖREV GÖÇ ETTİRME VE YÜK DENGELEME ÖZET Bu çalışmada BA? Gerçek Zamanlı Dağıtılmış İşletim Sistemi üzerinde gerçeklenmiş görev göç ettirme ve yük dengeleme mekanizmaları tanıtılmıştır. Bu mekanizmaların gerçeklenmesi için konak ve hedefler üzerinde çalışacak programlar hazırlanmıştır. Hedef işlemciler üzerinde çalışan çekirdek yazılımına da eklentiler yapılmıştır. BA? gerçek zamanlı programlama modeli olarak SDL modeli seçilmiştir. Bu modelde yeni bir duruma geçildiğinde, görev bir mesaj gelene kadar askıya alınır. Mesajın gelmesi“durum geçişi”adı verilen bir takım işlerin başlatılmasını sağlar. Durum geçişleri yapılır ve çıkışlar üretilir. Görevler durum geçişi yaparken göç ettirilmez. Görevler sadece, kullanıcı tarafından tanımlanmış durum geçişlerini tamamladıktan sonra, yeni bir durumun başında göç ettirilebilirler. Bu mekanizma başarımı geliştirdiği gibi, göç işlemi sonrası mesaj aktarımının devamlılığının sağlanması gibi bir takım sorunların çözümünü basitleştirmektedir. Bu ortam için tasarlanan ve gerçeklenen görev göç ettirme mekanizması homojen ve heterojen görev göç ettirme mekanizmalarından oluşmaktadır. İki farklı mekanizma gerçeklenmesinin amacı aynı tip işlemciler arasındaki göç ettirme işleminin homojen göç ettirme mekanizması kullanılarak daha hızlı gerçeklenmesini sağlamak ve sistem başarımını arttırmaktır. Farklı tip işlemciler arasında ise heterojen görev göç ettirme mekanizması kullanılır. Konak bilgisayar hangi tip göç ettirme mekanizmasının kullanılacağına göç ettirilecek görevin üzerinde çalıştığı kaynak hedef ile görevin göç ettirileceği varış hedefin tiplerine bakarak karar verir. Mekanizmalar, anlaşma, aktarım, silme ve yeniden yapılanma olmak üzere toplam dört aşamadan oluşmaktadır. BA? dağıtılmış sisteminin başarımını arttırmak amacıyla uygun bir yük dengeleme algoritması seçilmiş ve bu algoritmayı gerçekleyen yük dengeleme mekanizması geliştirilmiştir. Seçilen yük dengeleme algoritması merkezi bir algoritmadır. Bu algoritmada konak bilgisayar merkezi oluşturmaktadır. BA? dağıtılmış sisteminde kullanılan algoritmanın temel bileşenleri aktarım stratejisi, seçim stratejisi, yerleşke stratejisi ve bilgi stratejisidir. Yük dengeleme algoritmasının gerçeklenmesi amacıyla konak ve hedef bilgisayarlar üzerinde çalışan görevler hazırlanmıştır. Yük dengeleme algoritmasının seçim ve bilgi stratejileri hedefler üzerinde yürütülen görevler tarafından belirlenir. Konak bilgisayar ise aktarım ve yerleşke stratejilerini belirler. Yük dengeleme mekanizması görev göç ettirme mekanizmasının kullanarak görevlerin aktarılmasını sağlamaktadır. vıı

Özet (Çeviri)

TASK MIGRATION AND LOAD BALANCING IN BAG REAL TIME DISTRIBUTED OPERATING SYSTEM SUMMARY The usefulness of computer systems, the scope and quality of services provided, and their user-friendliness depends very strongly on their operating systems. Up to now, a large number of operating systems have been realized for centralized computing systems. Today, connections of computers over geographic distances have been realized and distributed operating systems have been developed for such coupled systems. Distributed systems is a term used to define a wide range of computer systems, from weakly coupled systems such as wide area networks to strongly coupled systems such as local area networks. BAG distributed real-time operating system project (EEEAG-BA?2) is designed and implemented by our research team and supported by TÜBİTAK (Turkish Scientific and Technical Research Council). BAG is an experimental system, that consists of multiprocessor nodes connected by an FDDI interconnection network. FDDI rings, arranged in hierarchical levels, are in turn connected through bridges. Each node has target (application) processors which run application tasks, a host processor and a communication processor. The host processor performs coordination of the system management and monitoring actions. It also arranges external communication. Application development tools are located on the host. The communication processor handles most of the processing related to communication between targets in a single node and between nodes on an FDDI ring. This communication layer is the subject of another TÜBİTAK project (EEEAG-BA?3). An MVME 167 (Motorola) board with an 68040 32 bit processor and 16 Mbytes RAM accessible from the VME-bus is used as the host processor. Target processors MVME 162 boards that have 68040 microprocessors and 4 MB RAM. A VME-PC operates as the communication processor. VMEexec is a VME bus UNIX hosted real time software development system. Its primary functions are listed below: 1.pSOS+ Kernel 2. FAST File System to meet requirements of real-time target applications VUl3. Target to target communication via shared memory on VME bus and TCP/IP on Ethernet 4.SVIDIİD compatibility layer complaint with UNIX SVID 5.Cross compilers and run-time libraries to support target software development BAG is a multi processor system, based on pSOS+ Real-Time Executive. pSOS+ neither provides nor supports task migration and load balancing mechanisms on a multiprocessor system. These two mechanisms have been realized as an extension to pSOS+. In the following paragraphs first the programming model proposed for the task migration mechanism will be described. The an overview of the task migration and the load balancing mechanisms realized for BAG system will be described. The SDL model has been selected as the real-time programming model. In this model multiple tasks can be created in a nested manner, and, in this case each child task has to suit the SDL model. The“main”block of the a program has three basic sections: a section for the declaration of local variables, a section for initializations, and a section in which program code for user-level states are specified with“. The initialization section includes a primary and a generic initialization segment. Primary initialization segment is the code segment that is executed when the task is activated for the first time. In this segment, initialization operations on queues are performed. The primary initialization segment is not executed after migration on the destination processor where the task is moved. The function ”initial_exec()“ is a BAG library function which returns a logical value for the task to decide whether the task has been started after a migration operation or not. Generic initialization segment is the code segment that is activated after each migration. This segment mainly performs initialization operations related to child tasks. The task executes the BAG library function ”check_n_receive()“ on each state entrance. This function first checks the existence of a migration request on the related task. If no migration request is present on the task, it issues a receive request after which it begins to execute the transition code for the state it is in. On the other hand if a migration request is present, the task is suspended. BAG programming model supports child tasks and essentially enables these child tasks to be migrated with their creator. It is necessary for every child task to execute its ”check_n_receive()“ function, for the migration operation to start. A new temporary segment of data which is named ”safe segment“ is defined in our implementation. The need for this segment arises because of the different data representation observed in both data and stack segments, since compilers and linkers generate code and data which is different in IXrepresentation for their targets in the heterogeneous system. A memory area of an abstract structure type is allocated for the safe segment. Global and local data of the task are transferred into the safe segment before the migration operation starts. When the migration operation is completed the contents of this segment are restored to the data and stack segments of the migrated task on the destination target. The migration process begins after the selection of a task to migrate and proceeds mainly in three phases: negotiation, transfer and establishment. A fourth phase named as deletion has been added. Three different processor modules contribute to the migration process: host, source target module and destination target module. The migration mechanism has two sub mechanisms: homogenous migration mechanism and heterogeneous migration mechanism. Homogeneous migration mechanism is applied to the situations where two processors of the same type take part in task migration. If both of the processors are of different types then heterogeneous migration mechanism is issued. The need for two different mechanisms is to achieve higher performance while migrating tasks between same type of targets using the homogeneous migration mechanism. Host decides on which migration action to be taken and sends the source and destination targets the related migration commands so that the related migration protocol is started on the source and the destination targets. The main role of the host in migration mechanism, is the control and coordination. The migration facility is realized through extensions to pSOS+ kernel. To realize the task migration mechanism manager programs have been developed for both host and targets. These manager programs are responsible for the execution the task migration protocol. Because of the BAG programming model there is not much difference between the homogeneous and the heterogeneous migration mechanisms. Both of the mechanisms operate in the same manner. In the negotiation phase the source manager marks the specified task as ”in migration“ mode. When this task executes the ”check_n_receive()“ primitive, it is blocked. Eventually -if there exists- every child task of the migrating task executes the ”check_n_receiveO“ statement and they are also marked as ”in migration“. As the last child task executes its ”check_n_receive()“ statement, the transfer phase of migration begins. It is the transfer phase where the difference appears between the homogeneous and heterogeneous migration mechanisms. In homogeneous migration mechanism the code of the task is transferred from the source to the destination target. After the transfer the task is created and started for execution. In a heterogeneous environment different kinds of target processors exist. This difference leads to the recompilation of the code in order to transfer the code from the source to the destination target.In heterogeneous migration mechanism, the task is loaded from the host as if it were a new task and never executed before. Just before the task is to be executed pSOS+ calls the START_CO which is an extension to pSOS+. This extension is called whenever a newly created task enters the system and just before it begins execution. START_CO has been modified to take some actions before a task begins execution. It suspends the task so that the task can not enter the system without the notice of the system. Also the task must not be started before all the data related to task is transferred form the source to the destination target. If the migration operation reaches up to this point successfully the task which was suspended by START_CO, is resumed on the destination target. Then the task can be deleted on the source target and the deletion phase is over. As the migration process proceeds without any error, the task first executes generic initialization operations which recreate child tasks, if they exist, to enable the completion of their migration. After the termination of generic initializations, the task continues execution from the last state it was in before migration. In the following paragraphs, an application of a load balancing algorithm on BAG is going to be presented. This is a centralized algorithm if one observes only one node of the system. But the overall system can easily be extended to do load balancing based on a multi-centered manner by transferring tasks form one node to the other. One of the primary objectives of this application is to achieve a fast load balancing mechanism suitable for real-time systems. Basic components of the load balancing algorithm realized on the BAG distributed system are; transfer policy, selection policy, location policy and information policy. These policies and their realization are stated below for a system which has only one node and one center. A transfer policy determines whether a node is in a suitable state to participate in a task transfer. Many proposed transfer policies are threshold policies. According to the threshold policy realized in the system, slaves which are loaded more than 50%, are chosen as senders whereas slaves which are loaded less than 50% are chosen as receivers. But this condition is not sufficient for the stability of the algortihm so transfer policy works in conjunction with the location policy. If the load difference of a chosen pair is more than half of the threshold value then there is no task transfer between the chosen sender and receiver. After the transfer policy decides that a slave is a sender, a selection policy selects a task for transfer. In BAG, each slave measures its load updates along with the suitable task name which can be transferred. The most suitable task selected by each slave is the task which has the least memory requirement. This guarantees that the cost for the transfer of the task is going to be minimum. XIThe location policy is responsible for finding a suitable ”transfer pair". The center determines the most suitable sender receiver pair according to the information sent by each slave. As the host receives the load information of each slave, the most loaded and the least loaded slaves are determined. If the load of the most loaded slave has a load more than the threshold value then it is chosen as a sender. Information policy decides the time when information about the states of other nodes in the system is to be collected, from where it is collected and what information is collected. In BAG distributed system, load information of nodes is gathered by the target itself periodically. Host gathers the information in predetermined intervals and finishes the load balancing operation. Intervals of information gathering is determined according to the performance criterion of the system. Supervisor tasks which run on each target and a program which runs on the host, have been designed and implemented. In addition to these tasks and the program modification on some extensions of the pSOS+ real time kernel have been realized. The program running on the host side controls and coordinates the actions taken on the targets. Each supervisor task on the targets is responsible for that target only and communicates with the host program and other supervisors to perform the mechanism described above. xu

Benzer Tezler

  1. The Design of bag-3 realtime light-weight transport and session protocols

    Bağ-3 gerçek zamanlı yüksek hızlı ulaşım ve oturum protokolleri tasarımı

    SERDAR SOYSAL

    Yüksek Lisans

    İngilizce

    İngilizce

    1997

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. MEHMET BÜLENT ÖRENCİK

  2. Bağ dağıtılmış dosya sistemi

    Başlık çevirisi yok

    GÜRHAN MENDERES

  3. BAĞ3 protokolü için grup iletişim yöntemleri tasarımı

    Başlık çevirisi yok

    TANER DURSUN

    Yüksek Lisans

    Türkçe

    Türkçe

    1998

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Kontrol ve Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. MEHMET BÜLENT ÖRENCİK

  4. A link-state based on-demand routing protocol supporting real-time traffic for wireless mobile ad hoc networks

    Kablosuz mobil tasarsız ağlarda gerçek zamanlı trafik desteği veren bağ durumu tabanlı isteğe dayalı yol atama protokolü

    GÖKÇE GÖRBİL

    Yüksek Lisans

    İngilizce

    İngilizce

    2007

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİhsan Doğramacı Bilkent Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    YRD. DOÇ. DR. İBRAHİM KÖRPEOĞLU

  5. Main chain post-functionalization of synthetic polyesters through Diels-Alder cycloaddition reactions

    Diels-Alder siklo katılma reaksiyonları ile sentetik poliesterlerin ana zincirinin fonksiyonlandırılması

    CANSU ESEN

    Yüksek Lisans

    İngilizce

    İngilizce

    2017

    Kimyaİstanbul Teknik Üniversitesi

    Kimya Ana Bilim Dalı

    PROF. DR. ÜMİT TUNCA