A InfoWiki wikiből
(Változatok közti eltérés)
(Új oldal, tartalma: „__NOTOC__ {{page_addr|TITÁN projekt}} = A projekt célja = * létrehozni egy programozási környezetet, ahol nagy számolásigényű műveletek elosztottan, több szá...”) |
Aktuális változat (2009. június 24., 18:17) (lapforrás) (uploaded) |
||
(6 közbeeső változat nincs mutatva) | |||
1. sor: | 1. sor: | ||
- | + | ||
- | + | ||
= A projekt célja = | = A projekt célja = | ||
6. sor: | 5. sor: | ||
* 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 | * 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. | * 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és''re. | ||
+ | |||
+ | 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. |
Aktuális változat
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.