Geri Dön

Çok işlemcili sistemler için bir yük akış dili

A Work flow lanquage for multiprocessor systems

  1. Tez No: 39198
  2. Yazar: A.OLCAY AKGÜN
  3. Danışmanlar: PROF.DR. EMRE HARMANCI
  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: 1993
  8. Dil: Türkçe
  9. Üniversite: İstanbul Teknik Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Belirtilmemiş.
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 197

Özet

ÖZET Bu çalışmada, kişisei bilgisayar veya iş istasyonu türünden bir ana bilgisayar ve ona bağlantılı çok işlemcili sistemden oluşan yapılara yönelik bir yük akış diii tasarlanmıştır. Tasarımının başlangıç evresinde, hedef alman yapıya sahip sistemler incelenmiştir. Ana bilgisayar ve çok işlemcili sistem arasındaki mesa j iaşmanm türleri ve gerçeklenme şekli ortaya çıkarılmıştır. Bu evrenin sonucunda, MPWFL olarak adlandırılan dilin özel amaçlı işlevler ve hizmetler kümesi belirlenmiştir. Yüksek seviyeli di ilerde görülen; temel veri yapılarından tamsayılar, karakter katarları, mantıksal ifadeier ve program akış kontrolü komut yapıları

Özet (Çeviri)

A WORK FLOW LANGUAGE FOR MULTIPROCESSOR SYSTEMS SUMMARY The aim of this study has been to develop a“workflow language”for a multiprocessor system in combination with a host (personal computer). This language has been called as MPWFL (Multiple Processor Work Flow Language). MPWFL is easily portable to different host systems and can be used on different microprocessor based multiprocessor systems. The application programs written in MPWFL are translated in“C”language. The program which performs the translation procedure and other utilities have been written in“C”. Consequently MPWFL could be portable to different host systems. As a result, an application program written in MPWFL can be used on different hosts or multiprocessor systems without any modification by compiling on the new computer or by modifying the utility programs. Program development, program compilation and user interface utilities are implemented on the host system. Using a separate machine (namely the host) to edit and compile programs and then to transfer the object code to target machine allows the latter to compute faster and not to loose time with user interface procedures. A program development system imposes different requirements on hardware as well as software (memory management, terminals, disks..). After program development has been finished, a large part of the system remains unused. As a result it's more efficient to use another computer (the host) for program deve 1 opment. The host is connected to the processors of multiprocessor system by means of exchanging messages with different lengths. The main tasks for managing and operating the multiprocessor system are: 1- to transfer data and program code 2- to monitor the multiprocessor system The data and programs which are to be transferred from vi i ihost to the multiprocessor system are stored in the host as files. Data that have been pro'duced by the programs on the multiprocessor system are saved in the files on the host. It is also possible to transfer data (produced within a user application program) to the multiprocessor system without saving in a file. The commands that control the multiprocessor system are sent after they have been transformed into short messages. Access to the information of system operational characteristics has been possible through monitoring the multiprocessor's system objects. The type and facilities of the system objects vary for different multiprocessor systems. Therefore the size and contents of the messages containing the parameters for system monitoring may vary for different multiprocessor systems. To realize the facilities listed above in an efficient and flexible way, some additional commands and data structures have been implemented in MPWFL. Owner, buffer, task and group type variables are examples of additional data structures implemented in MPWFL. Some data structures and facilities included in general purpose high level languages, such as arrays, floating point numbers, trigonometric library functions haven't been implemented in this study in order to decrease the complexity of developing MPWFL. Since this study has been concerned with the efficient implementation of a workflow language, first the workflow operations have been determined. To implement these operations efficiently, among the commands and data structures of the general purpose high level languages, we have chosen a group sufficient for a workflow language. In order to meet the conceptual requirements of a workflow language, some additional commands and data structures have been designed for MPWFL. A program written in MPWFL has a structure given below: program: type_def inition variable; type_def inition variable, variable; Subprogram_def inition; SUBBODY subprogram_id SUBBEGIN command Cs) SUBEND ixMPWFL has the following variable types: MPWFL offers the following functionally grouped instructions : 1- Assignment 2- Group 3- Task 4- Display 5- Control 6- Owner 7- String Buffer, task, owner and group variables are designed for MPWFL in order to satisfy the needs of a workflow language. Buffer variables are translated as structures in“C”language. There are three records in the buffer structure : COUNT : the number of items in the buffer MAX ; the maximum number of items that can exist in the buffer POINTER : the beginning address of the buffer Task variables are translated as structures in“C”language. There are three records in the buffer structure: NAME : the name of the task variable FIELD : the information about task POINTER : the beginning address of the buffer which contains the program code of task Owner variables are defined as a character array (charC163) in“C”language after the translation. This array represents the processors in the multiprocessor system, from 0 to 127. It's possible to determine the format of messages, which provide the transfer of data between the host and the multiprocessor system by group variables. Group variables are defined as a linked list in nC“ languageafter the translation. The nodes in the linked list represent a structure. The records of this structure are: POINTER : the beginning address of the group variable COUNT : the number of bytes of the group variable to be sent. TYPE : the type of the group variable NEXT : the beginning address of the next node in the linked list (next group variable) The stataraents and functions of the MPWFL are listed be 1 ow: Assignment statemets are boolean assignment, integer assignment, string assignment, task assignment, and buffer assignment. Group statements are groupname and groupmake. Groupname is used to assign a name to the group list. Groupmake is used to add a new node to the group list. Task statements are taskinit and taskcopy. Taskinit is used to assign the initial values to a task variable. Taskcopy is used to copy the source task variable to the destination task variable. Display statements are display, pline, and pcontrol. Flow control statements are if - then-e 1 se, while, repeat, and select. Owner statements are resetowner, addowner, subowner, and moveowner. Resetowner is used to assign the initial value to an owner variable. Addowner is used to add a new owner to an owner variable. Subowner is used to remove an owner from an owner variable. Moveowner is used to add new owners to an owner variable. There are string, integer, buffer and boolean functions in MPWFL. String functions are accept, concat, ascii, take, and drop. Accept is an 1/0 function. Concat function concats two strings. Ascii function transforms its integer parameter into a string. Take and Drop are functions for patitioning the string. Integer functions are decimal, length, and isfile. Decimal function transforms its string parameter into xiinteger. Length function returns the length of string. Isfile function returns the length of a file. Buffer functions are alloc, reverse, pack, and unpack. Alloc function allocates the blocks of memory. Reverse function reverses the order of bytes in a buffer. Pack function packs the items in a buffer (transforms the item from ASCII to HEX). Unpack function unpacks the items in a buffer which were packed before by pack function (transforms the item from HEX to ASCII). Boolean functions are load, save, gettask, sendtask, runtask, aborttask, killtask, getgroup, and sendgroup. Load function loads a file to a buffer. Save function saves data from a buffer into a file. Gettask function gets the data of the FIELD record of a task from a processor. Sendtask function sends the values of the NAME, FIELD and BUFFER records of a task to the processors defined with owner variable. Runtask function allows the processors defined with owner variable to run a specific task. Aborttask function provides suspending a specific task in processors defined with owner variable. Killtask function kills a task in the processors defined with owner variable. Getgroup function gets the information about a group from the processor defined with owner variable. Sendgroup function sends the information about a group to the processors defined with owner variable. The interaction between host and multiprocessor system is summarized as follows. Host system can be either a personal computer or a workstation. It is used for program development; for monitoring the multiprocessor system; for the transfer of data and program code to or from the multiprocessor; for storing the files produced by the programs on the multiprocessor system or for storing the files providing the data to the programs on the multiprocessor system. The host is connected to a manager processor of the multiprocessor system by an asynchronous serial connection with 9600 baud rate. It's possible to modify the utilities written in ”Cn in order to support another connection (a LAN, for instance). In this study, first, the instructions, commands, variables and then the grammer of the MPWFL language has been determined. Then, the grammer and the tokens have been arranged to form an input to a UNIX operating system utility“YACC”. The translator program has been developed by using the parser table generated by YACC. XI i

Benzer Tezler

  1. Asenkron motorun DSP (sayısal işaret işleyici) tabanlı bir kontrol sistemi kullanılarak YSA (yapay sinir ağları) ile performansının arttırılması

    The Performance increasing on the induction motor with ann (artifical neural networks) by using a DSP (digital signal processor) based control system

    KAYHAN GÜLEZ

    Doktora

    Türkçe

    Türkçe

    1999

    Elektrik ve Elektronik MühendisliğiYıldız Teknik Üniversitesi

    Elektrik Mühendisliği Ana Bilim Dalı

    PROF. DR. HALİT PASTACI

  2. Grafik işlemci birimi üzerinde genel amaçlı hesaplama yöntemi ile görüntülerin gerçek zamanlı ortorektifikasyonu

    Real time orthorectification of images by general purpose computation on graphical processing units method

    HAKAN ŞAHİN

    Doktora

    Türkçe

    Türkçe

    2016

    Jeodezi ve Fotogrametriİstanbul Teknik Üniversitesi

    Geomatik Mühendisliği Ana Bilim Dalı

    PROF. DR. MEHMET SITKI KÜLÜR

  3. Gemi kargo tanklarında doğal taşınımla olan ısı geçişinin sayısal ve deneysel olarak incelenmesi

    Numerical and experimental investigation of natural convection heat transfer in ship cargo tanks

    KORAY ŞAHİN

    Doktora

    Türkçe

    Türkçe

    2022

    Gemi Mühendisliğiİstanbul Teknik Üniversitesi

    Gemi İnşaatı ve Gemi Makineleri Mühendisliği Ana Bilim Dalı

    PROF. DR. SELMA ERGİN

  4. Experiments for design and optimization of thin shell structures

    İnce kabuk strüktürlerin tasarımı ve optimizasyonu üzerine deneyler

    ERENALP SALTIK

    Yüksek Lisans

    İngilizce

    İngilizce

    2018

    Mimarlıkİstanbul Teknik Üniversitesi

    Bilişim Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ SEMA ALAÇAM

  5. Context aware audio-visual environment awareness using convolutional neural network

    Konvolüsyonel sinir ağı kullarak ses ve görüntü aracılığıyla ortam farkındalığı

    GİRAY YILLIKÇI

    Yüksek Lisans

    İngilizce

    İngilizce

    2019

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

    İletişim Sistemleri Ana Bilim Dalı

    PROF. DR. İBRAHİM AKDUMAN