Difference between revisions of "LU-LSP-b12:MD5"

From DiLab
Jump to: navigation, search
(New page: {{TocRight}} =MD= ===Mērķi=== Novērtēt dinamiskās atmiņas izdalīšanas algoritmu veiktspēju. ===Uzdevums=== Darbs veicams studentu grupās, kas noteiktas lekcijas laikā. Izveid...)
 
 
(3 intermediate revisions by the same user not shown)
Line 24: Line 24:
* Jūsu alternatīvais risinājums (ja tāds ir).
* Jūsu alternatīvais risinājums (ja tāds ir).


Testa faili atrodami šeit: http://jupiter.cs.fmf.lu.lv/kursi/lkp/2010/ (mem-frag-tests*)
Vairāki publiski pieejami testa failu komplekti atrodami šeit: http://jupiter.cs.fmf.lu.lv/kursi/lsp/2012/mem-frag-tests/


Raksts par atmiņas fragmentāciju un algoritmiem atrodams [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.45.3382&rep=rep1&type=pdf šeit]
Raksts par atmiņas fragmentāciju un algoritmiem atrodams [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.45.3382&rep=rep1&type=pdf šeit]
Line 30: Line 30:
===Jāiesniedz===
===Jāiesniedz===


* Jāiesniedz C programmas pirmkods un Makefile.
* Jāiesniedz:
** C programmas pirmkods un jūsu testa failu komplekts
* Testa faili
* Eseja kur izklāstīti testa rezultati. Fails ''pdf'' formātā.
** Eseja, kur izklāstīti testa rezultāti (fails ''pdf'' formātā)
* Rezultāti sūtāmi pa epastu piekabē, ar sekojošu "Subject:" LSP MD5 Vards Uzvards
* Visi iesniedzamie faili jāsapako arhīvā LSP_MD5_vards_uzvards.tgz
* E-pastā jānorāda visi komandas dalībnieki, dalībnieku skaits, kā arī katra procentuālais ieguldījums, piemēram 50/100 nozīmē 50% no visa projekta. Visu komandas dalībnieku sniegumam summā jābūt 100%.
* Arhīva fails sūtāms pa epastu piekabē, ar sekojošu "Subject:" LSP MD5 Vards Uzvards
* E-pasta jānorāda visi komandas dalībnieki, dalībnieku skaits, kā arī katra procentuālais ieguldījums, piemēram 50/100 nozīmē 50% no visa projekta. Visu komandas dalībnieku sniegumam summā jābūt 100%.


===Vērtējums===
===Vērtējums===


Uzdevums tiks vērtēts sekojoši:
Uzdevums tiks vērtēts sekojoši:
# 50% - Korekts programmas kods
* 50% - Korekts programmas kods
** Komandrindas interfeiss
# 50% - Eseja ar rezultātiem.
** First fit realizācija
** Next fit realizācija
** Best fit realizācija
** Worst fit realizācija
** Citu algoritmu realizācija, ja tāda ir
** Fragmentācijas mērījumi
** Laika mērījumi
** Komentāri kodā
* 50% - Eseja ar rezultātiem.
** Algoritmu apraksts
** Mērījumu / eksperimenta apraksts
** Fragmentācijas novērtējums un secinājumi
** Ātrdarbības novērtējums un secinājumi
** Kopējie secinājumi algoritmu izvēlei
** Rakstīt īsi, bet aptveroši! (Tā, lai visi punkti būtu pieminēti.)


===Piemēri===
===Piemēri===


md5 -c chunks1 -s sizes1
md5 -c chunks1 -s sizes1

===Derīga informācija===

* Ieteikums: izstrādājiet programmatūru pakāpeniski. Piemēram, vispirms ielasiet un izdrukājiet datus. Tad pievienojiet datu analīzi un reģistrēšanu savās datu struktūrās. Tad pievienojiet datu analīzi lai tos sakārtotu izdrukai. Testējiet vispirms uz pareiziem datiem. tad uz kļūdainiem datiem.


==J&A (jautājumi un atbildes)==
==J&A (jautājumi un atbildes)==

Latest revision as of 17:55, 6 November 2012

MD

Mērķi

Novērtēt dinamiskās atmiņas izdalīšanas algoritmu veiktspēju.

Uzdevums

Darbs veicams studentu grupās, kas noteiktas lekcijas laikā.

Izveidot testa vidi dinamiskās atmiņas izdalīšanas algoritmiem. Vide ir programma, kam kā ieejas dati ir divi teksta faili "chunks" un "sizes". Abos failos rakstīti skaitļi, katrs savā rindā. "Chunks" definē sarakstu ar brīvo atmiņas bloku lielumiem. "Sizes" definē atmiņas pieprasījumus baitos.

md5 -c chunks -s sizes

Pieņemt, ka izdalītās atmiņas kopējais apjoms ir 1024 baiti.

Fragmentāciju vērtē kā attiecību starp kopējo pieejamās atmiņas daudzumu un fragmentēto atmiņu. Ja visi testa atmiņas pieprasījumi ietilpst atmiņā, tad testu rezultāti neatšķirsies, ja lietotas vienlīdzīgas datu struktūras atmiņas rezervēšanai. Toties, ja visi pieprasījumi nesaiet, tad uzskaitiet to apjomu kas nesaiet atmiņā lai salīdzinātu algoritmus.

Izvērtēt sekojošus algoritmus, un noteikt labāko pēc veiktspējas (ātrdarbības) un pēc fragmentācijas. Vērtējumam jānorāda konkrēti un salīdzināmi veiktspējas rezultāti katram algoritmam un katram testam.

  • BestFit
  • WorstFit
  • FirstFit
  • NextFit
  • Jūsu alternatīvais risinājums (ja tāds ir).

Vairāki publiski pieejami testa failu komplekti atrodami šeit: http://jupiter.cs.fmf.lu.lv/kursi/lsp/2012/mem-frag-tests/

Raksts par atmiņas fragmentāciju un algoritmiem atrodams šeit

Jāiesniedz

  • Jāiesniedz:
    • C programmas pirmkods un jūsu testa failu komplekts
    • Eseja, kur izklāstīti testa rezultāti (fails pdf formātā)
  • Rezultāti sūtāmi pa epastu piekabē, ar sekojošu "Subject:" LSP MD5 Vards Uzvards
  • E-pastā jānorāda visi komandas dalībnieki, dalībnieku skaits, kā arī katra procentuālais ieguldījums, piemēram 50/100 nozīmē 50% no visa projekta. Visu komandas dalībnieku sniegumam summā jābūt 100%.

Vērtējums

Uzdevums tiks vērtēts sekojoši:

  • 50% - Korekts programmas kods
    • Komandrindas interfeiss
    • First fit realizācija
    • Next fit realizācija
    • Best fit realizācija
    • Worst fit realizācija
    • Citu algoritmu realizācija, ja tāda ir
    • Fragmentācijas mērījumi
    • Laika mērījumi
    • Komentāri kodā
  • 50% - Eseja ar rezultātiem.
    • Algoritmu apraksts
    • Mērījumu / eksperimenta apraksts
    • Fragmentācijas novērtējums un secinājumi
    • Ātrdarbības novērtējums un secinājumi
    • Kopējie secinājumi algoritmu izvēlei
    • Rakstīt īsi, bet aptveroši! (Tā, lai visi punkti būtu pieminēti.)

Piemēri

md5 -c chunks1 -s sizes1

J&A (jautājumi un atbildes)

J: Uzdevums pārāk grūts, vai var pagarināt termiņu?

A: Noteiktais termiņš paliek spēkā. Iesaku risināt savlaicīgi, lai pietiek laika neparedzētu problēmu risināšanai.


Uz LSP kursa sākuma lapu.