280 likes | 482 Views
Uporaba Linux v produktih Iskratel. Sani Rus Iskratel , doo IBLOC, Portorož , september 2007. Povzetek:. o podjetju produkti razvojno okolje tehnologije platforme, arhitekture kriteriji za izbiro OS in razvojne platforme posebnosti telekomunikacijskih sistemov carrier grade sistemi
E N D
Uporaba Linux v produktih Iskratel Sani Rus Iskratel, doo IBLOC, Portorož, september 2007
za več informacij obiščite http://www.iskratel.si Povzetek: • o podjetju • produkti • razvojno okolje • tehnologije • platforme, arhitekture • kriteriji za izbiro OS in razvojne platforme • posebnosti telekomunikacijskih sistemov • carrier grade sistemi • real-time, performance, skalabilnost • visoka razpoložljivost • nadzor sistemov • pravna vprašanja, priporočila
za več informacij obiščite http://www.iskratel.si O podjetju: • ponudnik sodobnih komunikacijskih rešitev • zasnova, razvoj in implementacija komunikacijskih omrežij osnovanih na lastnih produktih in lastni blagovni znamki • kupcem ponujamo svetovanje, izobraževanje, načrtovanje, gradnjo omrežij in celovito tehnično podporo • Podatki za leto 2006 • promet 136,8 M EUR, bruto dobiček 37,3 M EUR • vlaganje v razvoj 21,7 M EUR • 1290 zaposlenih od tega 300 v tujini • 520 zaposlenih v razvojnih oddelkih • razvojne enote v Kranju, Mariboru, Skopju, Harkovu, Minsku, Moskvi, Jekaterinburgu • večji lastniki – Siemens AG, Gorenjska banka
za več informacij obiščite http://www.iskratel.si Produkti 1/2: glavne produktne linije: • klasična TDM omrežja – analogna, ISDN telefonija • širokopasovni dostop – ADSL, ADSL2+, VDSL tehnologije, FTTH, CPE + DSLAM • brezžični fiksni dostop – WiMax BS, SS • prehod na omrežja naslednje generacije – NGN omrežja, prenos po IP • gradniki omrežij: • dostopovni prehod – access gateway • medijski prehod – signaling & media gateway, trunking gateway • klicni strežnik – call server, soft switch • aplikativni strežnik - application server, storitve z dodano vrednostjo • upravljalsko vozlišče – management node • konvergenca omrežij – prenos govora, podatkov in videa
za več informacij obiščite http://www.iskratel.si Produkti 2/2: Service Network Aggregation Network Core Network Multi Service Access Node Service Edge Home/Business Network DSLAM ADSL2+SHDSL Internet VDSL2 FTTC BRAS Application server ETTH FTTB MPLS Core Ethernet aggregation FTTH Management Broadband network gateway WiMax WiMAX Accessgateway Call server POTS PSTN V5.2 TDM Switch Signaling & Media gateway
za več informacij obiščite http://www.iskratel.si Razvoj programske opreme: • host – target način dela, sistem na katerem teče razvoj SW ni sistem na katerem se razvit SW kasneje izvaja • host okolje – razvojna orodja • HP-UX serverji – od 1993 • MS Windows serverji – od 2001 • RH Linux serverji – od 2002 • target okolje – končni produkt • lastne ali COTS platforme • komercialni ali open source OS • delovna postaja • MS Windows desktop – lokalno le pisarniška orodja, priprava dokumentacije • dostop do serverjev preko Citrix ali Reflection • razvoj programske opreme lahko poteka le na host serverjih • z vpeljavo Linux OS vpeljemo poenotenje tako host-target HW platforme, kot tudi host-target OS host target ... delovne postaje
za več informacij obiščite http://www.iskratel.si Razvojno okolje: • glavnina programske opreme je razvita v jezikih • SDL (specification in description language) in C – omrežni elementi • Java – upravljalski elementi • osnovna razvojna orodja in razvojni cikel: edit – compile – link – debug • host - okolje na katerem razvijamo našo PO, na njem tečejo host OS in razvojna orodja, simulatorji, shell make, Eclipse IDE • target – okolje na katerem teče target OS in naša PO • ločimo dva načina razvoja PO • native development – host sistem je isti/enak kot target, novejši targeti imajo dovolj virov (CPU, RAM, disk, OS, grafika), da bi na njih lahko poleg poganjanja PO tudi razvijali • cross development – host sistem se razlikuje od target sistema, večina naših target produktov ne more poganjati host razvojnih orodij, oz. gre za popolnoma drugačno HW arhitekturo, tako da razvoj teče na host serverjih • nekaj številk: • tipični produkt obsega med 500.000 – 1 M LOC C kode in do 700.000 LOC SDL kode (upoštevana samo lastna koda) • generični produkti z vložki v rangu 20 – 30 MY
za več informacij obiščite http://www.iskratel.si Tehnologije: • Posamezne komponente omrežij lahko razdelimo na • data plane, podatkovni nivo – npr. VoIP, video, xDSL • prenos večjih količin podatkov s strogimi časovnimi zahtevami • N*1 Gb, N*10 Gb vmesniki, N * mio paketov/s • zahtevana odzivnost OS v rangu N*10 µs • control plane, kontrolni nivo - signalizacije in call control • gradnja, rušenje zvez, obdelava klicev in storitev, obdelava signalizacij, interoperabilnost signalizacij • SS7, DSS1, V5.2, CAS • H.323, SIP, SIP-T, MGCP, MEGACO/H.248, SIGTRAN – SCTP, M2UA, M3UA • visoka razpoložljivost, skalabilnost od N*10 do N*100.000 naročnikov, N*mio klicev na uro • zahtevana odzivnost OS v rangu N*ms • management plane, upravljavski nivo • nadzor omrežja in njegovih komponent, nadgradnje • nadzor performanc, statistika, tarifiranje • nadzor in obdelava napak • upravljanje z varnostjo
za več informacij obiščite http://www.iskratel.si HW platforme: • data plane: • MSAN (multiservice access node) arhitektura • univerzalni dostop – ozkopasovni, širokopasovni, žični, brezžični, zlivanje govora, podatkov in videa • samostojno razvite enote osnovane na PPC arhitekturi • PQ družina komunikacijskih kontrolerjev podjetja Freescale • delovne frekvence od 80 – 800 MHz, • pomnilnik RAM 32 – 256 MB, FLASH 32 – 64 MB, • medij cFLASH 0-1 GB • control, management plane • COTS (commercial of the shelf) enote x86 arhitekture (Xeon, Pentium M, Core2Duo) • RAS - zanesljivost, razpoložljivost, servisibilnost, poraba moči, wat per slot • formati enot • ATCA (Advanced telecom computing architecture) • cPCI • delovne frekvence 800 – 2800 MHz, pomnilnik RAM do 4 GB, diski do 80 GB • standardni blade serverji, 1U serverji
za več informacij obiščite http://www.iskratel.si CPU arhitekture: • glavni procesorski družini v naših sistemih sta Freescale PQ in Intel x86 • Freescale PQ – izvedenke PQI, PQII, PQIIPro, PQIII mikrokontrolerji, ki imajo poleg procesorja integriran še komunikacijski koprocesor, • Intel x86 – izvedenke Xeon, Pentium M, Core2Duo, multicore, SMP • v nekaterih sistemih nastopajo tudi ARM procesorji (embedded kot del DSP ali xDSL rešitve)
za več informacij obiščite http://www.iskratel.si Večprocesorske arhitekture: • pot do povečanja performanc sistema se je z višanja delovne frekvence CPU usmerila na področje večprocesorskih arhitektur (problem hlajenja CPU pri višjih frekvencah) • MIPS/wat – višje performance je z večprocesorskimi arhitekturami enostavneje doseči (linearna odvisnost) kot z višanjem delovne frekvence CPU (eksponentna odvisnost) • aplikativna PO in OS morata biti pripravljena na paralelni način izvajanja na večih procesorjih
za več informacij obiščite http://www.iskratel.si Produkti: MEA 10 MEA 20 MEA 10 wall MEA 3 ATCA
za več informacij obiščite http://www.iskratel.si Kriteriji pri izbiri operacijskega sistema: • robustno jedro z kompletnim naborom funkcionalnosti in I/O enot • nivo podpore, ki ga zagotavlja proizvajalec, zagotovljena prihodnost produkta • podpora širokemu naboru target sistemov, host sistemov, pripadnost različnim ekosistemom • nabor orodij na host strani – IDE okolje, prevajalniki, debuggerji, simulatorji, profilerji, CVS, projektni management, odprti vmesniki • 3rd party podpora (CPU, plošče, SW, telecom. rešitve) • real-time performance, velikost, skalabilnost, izvorna koda • načini doseganja visoke razpoložljivosti sistema • skupni stroški – poslovni model, način licenciranja, royalties, profesionalne storitve, šolanje
za več informacij obiščite http://www.iskratel.si Migracija OS: Service Network Aggregation Network Core Network Multi Service Access Node Service Edge Home/Business Network DSLAM ADSL2+SHDSL Internet VDSL2 FTTC BRAS Application server ETTH FTTB MPLS Core Ethernet aggregation FTTH Management Broadband network gateway WiMax WiMAX Accessgateway Call server POTS PSTN V5.2 TDM Switch Signaling & Media gateway
za več informacij obiščite http://www.iskratel.si Posebnosti telekomunikacijskih sistemov: • embedded (vgrajeni) sistemi: • sistemi v katerem je procesor neločljivo povezan z ostalimi komponentami sistema in opravlja vnaprej določena opravila, za razliko od sistemov kjer lahko poganjamo poljubno PO npr. desktop ali serverski računalniki • primeri embedded sistemov: komunikacijska oprema, bela tehnika, automotive, industrijska avtomatizacija, avionika • real-time sistemi • sistemi z vnaprej določenim odzivnim časom • OS lahko teče na HW platformah z različnimi resursi • OS mora zagotoviti sistemsko: • razpoložljivost • robustnost • odpornost • obnovo • specializiran namensko razvit HW ali COTS HW/SW
za več informacij obiščite http://www.iskratel.si Real-time sistemi: • sistemi z vnaprej predvidenim odzivnim časom • to ne pomeni čim hitreje • hard real time – nedoseganje predvidenih časovnih odzivov ima lahko katastrofalne posledice npr. avionika, industrijska avtomatizacja • soft real time – občasno nedoseganje časovnih odzivov lahko toleriramo – podatkovne komunikacije, video • vsi Iskratel produkti so hard real time – odvisno od sistema morajo biti odzivni časi v rangu 50 – 3000 mikro sekund • neizpolnjevanje teh pogojev posledično pomeni – prometne izgube, nižanje kvalitete storitev, nedoseganje zahtev iz standardov oz. priporočil
za več informacij obiščite http://www.iskratel.si Carrier grade Linux: • Linux posebej namenjen produktom, ki morajo dosegati zanesljivost v rangu 99,999 in več (izpad < 5 min letno, vključeni vsi posegi) • specifikacije zahtev pripravljene v okviru OSDL (Open software development lab) pod vodstvom Linusa Torvaldsa • nabor zahtev, ki so specifične za telekomunikacijske produkte: • performančne in real time lastnosti • servisibilnost • skalabilnost, clustering • robustnost, odpornost na preobremenitve • sodelovanje vseh pomembnejših igralcev: SW, HW in TEM - IBM, HP, Intel, Motorola, Cisco, Alcatel, Ericsson, NSN, Montavista, WindRiver • OSDL se je nedavno združil z Free Standards Group v Linux Foundation, organizacijo z nalogami: • podpora delovnim skupinam: CGL, mobile, virtualizacija, FHS, ... • pravne zaščite Linux in zaščite Linux blagovne znamke • podporo standardizaciji in LSB – Linux standard base • spodbujanju sodelovanja med podjetji
za več informacij obiščite http://www.iskratel.si Carrier grade Linux: • istočasno je SAF (Service availability forum) pripravil nabor specifikacij s področij: • HPI – hardware platform interfacespecification – vmesnik proti HW platformi • AIS – application interface specification – vmesnik med aplikacijo in middleware • availability – razpoložljivost sistemov • clustering – podpora clustrom • checkpointing – podpora redundanci • messaging – komunikacija med sistemi • notification, log, - administracija, alarmiranje in logiranje • SMI – systems management interface – specifikacija SNMP vmesnika do AIS in HPI • Osnovni namen specifikacij je zagotoviti: • z uporabo standardnih vmesnikov zmanjšati time to market in razvojne stroške • povečati portabilnost aplikacij in interoperabilnost različnih platform • izboljšati skalabilnost, upravljanje in nadzor napak • zmanjšati tveganja z uporabo COTS HW in SW komponent • Trenutno se večina SAF aktivnosti odvija v organizaciji SCOPE
za več informacij obiščite http://www.iskratel.si Visoka razpoložljivost - HA: • večina naših sistemov mora zagotavljati visoko razpoložljivost v rangu 99,9995 % (t.j. izpad 2 – 3 minute na leto, vključno z nadgradnjami SW in HW) • splošna formula za izračun razpoložljivosti sistema p = MTTF / (MTTF + MTTR) MTTF – mean time to failure, čas med pojavitvami napake MTTR – mean time to recover, čas potreben za odpravo napake • znižanje MTTR dosežemo z HW redundanco, vsi ključni sklopi sistema (procesorske enote, vodila, mrežna oprema, napajanje in hlajenje so podvojeni) • glavni vzroki nerazpoložljivosti TK sistemov so: SW napake, odpovedi HW, preobremenitve, vzdrževalni posegi, človeške napake
za več informacij obiščite http://www.iskratel.si Visoka razpoložljivost - HA: • standardno Linux jedro ne izpolnjuje zahtev, ki jih postavljajo telekomunikacijski produkti • obdelava izjem v SW, delovanje OS ob pomanjkanju virov oz. preobremenitvah • potrebno je poskrbeti za ustrezno logistiko nadgradenj in vzdrževanja, ki ne vplivata na razpoložljivost sistema (nadgradnja OS ali aplikacije, konfiguriranje sistemov) • ustrezno je potrebno obdelati odpovedi HW in menjavo HW komponent (hot swap, hot plug in) • ključa s katerima dosegamo visoko razpoložljivost naših sistemov sta HW redundanca in SW checkpointing • podvojene so vse pomembnejše HW komponente sistema • HA platforma je osnovana na HA Linux in heartbeat open source projektih • za redundanco datotečnega sistema skrbita RAID1 in drbd • stanje aktivne strani se ažurno prenaša na hot stby stran (state-full aplikacija)
za več informacij obiščite http://www.iskratel.si Nadzor sistema: • objekti OS in sistemski viri zanimivi za nadzor– procesi, vrste, CPU, pomnilnik, I/O enote • sledilniki - aplikativna in sistemska koda se ob izbranih dogodkih (prekinitev, preklop procesa, sistemski klic) instrumentira s časovnimi znamkami, ki se med delovanje sistema zapisujejo v krožni buffer v RAM in kasneje v host okolju pregledajo z grafičnimi orodji (LTT – Linux trace toolkit, lastno orodje SMB) • profiliranje - med izvajanjem s pomočjo periodičnih prekinitev vzorčimo sistem, ob vsakem vzorčenju zabeležimo funkcijo, ki se trenutno izvaja in sproti gradimo listo pogostnosti izvajanja funkcij (oprofile, Intel VTune) • logiranje - sistemska, aplikativna in diagnostična sporočila
za več informacij obiščite http://www.iskratel.si LTT - Linux trace toolkit Sestavljen je iz treh sklopov in sicer: • Event flow graph, omogoča opazovalcu grafičen pregled nad dogodki v sistemu. • Process analysis, namenjen poglobljeni analizi vsakega procesa v časovnem intervalu snemanja. • Raw list of events, pokaže splošne informacije o sistemu. Raw list of events Event flow graph Process analysis
za več informacij obiščite http://www.iskratel.si SMB – System message browser, lastno orodje za analizo, nadgradnja LTT Možno je filtriranje po procesih, prekinitvah, SDL signalih, sistemskih klicih in uporabniških dogodkih Prikaže lahko statistiko celotnega zapisa ali pa določenega odseka
za več informacij obiščite http://www.iskratel.si Pravna vprašanja: • namesto ene licence in enega dobavitelja – eksplozija licenc: • GPL – general public license • LGPL – lesser general public license • XFree86 • MIT • BSD • Apache • Python • ... • poskrbeti je potrebno za: • zaščito lastne intelektualne lastnine • preprečiti kršenje tuje intelektualne lastnine • distributer OS mora poskrbeti za indemnifikacijo – našo pravno zaščito pred tretjimi osebami
za več informacij obiščite http://www.iskratel.si Osnove GPL, LGPL • kar izpeljemo iz GPL oz. LGPL zapade pod GPL oz. LGPL • nejasna definicija izpeljanega dela (derived work) • celotno Linux jedro je GPL licencirano • večina knjižnic je LGPL licencirana • zaenkrat še brez pravne prakse (SCO – IBM)
za več informacij obiščite http://www.iskratel.si Priporočila – uporaba GPL kode • vse naše spremembe v GPL kodi moramo ponuditi ostalim uporabnikom • vsa naša koda, ki bo linkana statično ali dinamično z GPL kodo, zapade pod GPL licenco in jo moramo ponuditi ostalim uporabnikom (razen Linux jedra) • uporaba GPL .h datotek je prosta • objektne kode ali knjižnic, ki jih generiramo iz GPL kode ne smemo statično ali dinamično linkati z našo aplikacijo ali OS, če želimo ohraniti našo intelektulano lastnino • način komunikacije med našo aplikacijo in delom aplikacije, ki bo zapadel pod GPL naj gre preko vrst, signalov ali deljenega pomnilnika
za več informacij obiščite http://www.iskratel.si Priporočila – uporaba LGPL kode • vse naše spremembe v LGPL kodi moramo ponuditi ostalim uporabnikom • vsa naša koda, ki bo linkana statično ali dinamično z LGPL kodo oz. bo inkludirala LGPL headerje ostane naša intelektualna lastnina in ne zapade pod LGPL
za več informacij obiščite http://www.iskratel.si Hvala za pozornost!Vprašanja?