Személyes eszközök
Keresés

 

A InfoWiki wikiből


Tartalomjegyzék

A projekt célja

  • létrehozni egy programozási környezetet, ahol nagy számolásigényű műveletek elosztottan, több számítógépen futtatva belátható időn belül kiértékelhetőek
  • a programozási környezet tartalmaz egy erre a célre felkészített programozási nyelvet, fordítóprogramot, futtatási környezet.

Résztvevők

  • Hernyák Zoltán - projekt vezető
  • Király Roland - projekt vezető

Programozási nyelv

Egy speciális felépítésű programozási nyelv, amellyel elsősorban matematikai problémák, azok kiértékelésének menete írható le. A szintaktika egyszerűsített, a szemantika erősen épít a funkcionális nyelvek lusta kiértékelésre.

A programozási nyelv két három szintet mutat:

  • TITAN-M legfelső szint, legmagasabb absztrakciót mutató réteg, a felhasználói szint. Mutat bizonyos 5GL jellemzőket, de funkcionális nyelvi elemek is fellelhetőek benne
  • TITAN-A középső szint, a legfelső szint erre fordítódik át, ez egy magas szintű assembly nyelvnek is tekinthető. Programozás ezen a szinten elképzelhető, de nagyon aprólékos munka.
  • C# legalsó szint (C++, Java, vagy C#), az assembly kód egy ilyen szintű kódra fordítódik át (forráskód-generálás). A megfelelő nyelvi fordító generálja a futtatható .exe filet.

Programozási környezet

A programozási környezet alkotja azt a felületet, ahol a felhasználók a feladatokat (utasítások, programkód) beviszik a TITAN rendszerbe, és ahol a számítási eredményekről tájékoztatást kapnak.

  • az utasításokat, programkódokat WEB felületen lehet bevinni, a web-lap ezt belső hálózati kapcsolaton juttatja el a TITAN motorhoz, aki a kódokat fordítja, az utasításokat tárolja
  • a számítási feladatokat WEB-es felületen lehet időzíteni, vagy indítani
  • a futó számítási feladatok állapotairól szintén WEB-es felületen lehet információkat szerezni
  • a számítási eredményeket a TITAN motor tárolja el maradandóan, és WEB-es felületen lehet letölteni, vagy megtekinteni

Futtató környezet

A TITAN motor lényege egy elosztott futtató rendszer az alábbi komponensekkel:

  • authorizációs szolgáltatás: a rendszert használó felhasználól accountjait, és jogosultságait tárolja (alapvetően egy sql szerver, és néhány API függvény)
  • kódgyüjtemény: a felhasználók által korábban beírt, saját fejlesztésű függvények tárolása. A feladatok megfogalmazása (kódolása) során alkalmazhatja a felhasználó a saját függvényeit is. Van mód publikus függvények készítésére, melyeket meg lehet osztani más felhasználókkal is (ilyenek a TITAN LIBRARY függvényei is). A publikus, megosztott függvények dokumentálásának, verziókövetésének erős megkötései vannak (egy jogosultsági renszerrel és meta-információkat kezelő FTP szervernek is felfogható)
  • feladatok: a rendszerbe bevitt számítási feladatok. A feladatok ütemezésre kerülnek (figyelembe véve a feladatot rögzítő felhasználó jogosultásgait, prioritásait). A feladat státusza lehet várakozó, folyamatban, befejezett, törölt.
  • ütemező: a feladatok ütemezését végző szolgáltatás. folyamatosan figyeli a TITÁN erőforrásokat (számítógépek, memória, processzor), és dönt a feladatok sorrendiségéről, indításáról.
  • file-rendszer: a TITÁN feladatokat futtató programok egyetlen összefüggő diszk-rendszert, file-rendszert látnak, melyek fizikailag több számítógép diszkjein vannak szétszórva.
  • operációs-rendszer: a TITÁN kódok több számítógépen elosztva futnak. A résztvevő számítógépeken egy-egy operációs-rendszer kiegészítő alkalmazás fut, amelyen keresztül az adott gépre át lehet tölteni futtatandó kódot, indítani, leállítani, állapotáról információkat lehet lekérni.
A lap eredeti címe: „http://wiki.ektf.hu/wiki/Titan:Nyitolap
Nézetek
nincs sb_3.144.187.103 cikk