Presentazione: uno studio sull'efficacia di checker automatici per la moderni...Idriss Riouak
Uno studio sull'efficacia del checker Clang Tidy in particolare sull'efficacia del modulo "modernize". Il test è stato applicato sulla Parma Polyhedra Library.
I cicli in Python 3 - estratto dal corso "Didattica dell'informatica e del Coding Responsabile"
Per il video Sito web https://www.giuseppesportelli.it
per i corsi online
Sito web https://www.corsi-on-line.it/moodle
Very little workshop on HLS:
Mention of Synthesizing hardware using high level language, in particular C-like languages. Analysis of existent old language since 1980 to 2000: Cones, HardwareC, Transmogrifier C, SystemC, C2Verilog, Handel-C. Open problems using C-like languages (taken from Stephen Edwards' "The challenges of synthesizing Hardware from C-like languages").
Hardware design and synthesis using Esterel, reactive and synchronous language, ideal to describe a *behavioural* structure of hardware concurrent real-time controller and to test formal correctness. Easiness in creation of VHDL, Verilog, SystemC, Finite State Automata, dataflow design, and implementation on ASIC or FPGA or RePIC (processor architecture supporting direct esterel execution).
Example of a Preudo-Random Bit Sequence using Esterel versus the implementation using OrCAD software
2. A) Introduzione
1 2
B) Prog. ConceGuale (ER)
C) Modello Relazionale,
Algebra relazionale, SQL
1 2 3 4 5 6 7 1 2 3 4 5 6 7
D) Prog. Logica e E) Tecnologia di un DBMS
Normalizzazione
1 2 3 4 1 2 3 4 5 6
F) Programmazione DB
1 2
2 Basi di Da( ‐ Controllo di concorrenza
3. I vantaggi della concorrenza
sul server (1 cpu, 1 disco, 1 sistema di trasmissione) è
possibile il parallelismo tra:
elaborazione: cpu (c)
operazioni di I/O: disco (d)
operazioni di trasmissione (t)
aGesa dai client (a)
c d c t a
U1
a c t c d c
U2
a c t d c d
U3
3 Basi di Da( ‐ Controllo di concorrenza
4. I vantaggi della concorrenza
B: begin, E: end
T1 C:commit, A: abort
B C E R: rollback
T2
B A
T3
B C E
T4
B C E
T5
B R E t
4 Basi di Da( ‐ Controllo di concorrenza
5. Problemi dovuU alla concorrenza
Lost update (dipendenza write write)
perdita di modifiche da parte di una transazione a
causa di un aggiornamento effeGuato da un’altra
transazione
Dirty read (dipendenza write read)
dipendenza di una transazione da un’altra non
completata con successo e leGura di daU inconsistenU
Unrepeatable read (dipendenza read write)
analisi inconsistente di daU da parte di una
transazione causata da aggiornamenU prodo da
un’altra
5 Basi di Da( ‐ Controllo di concorrenza
9. Lost update: altro esempio
TRANSAZIONE A TRANSAZIONE B
UPDATE PARTS UPDATE PARTS
SET COLOR = 'VERDE’ SET COLOR = 'ROSSO'
WHERE PNO = 3824 WHERE PNO = 3824
9 Basi di Da( ‐ Controllo di concorrenza
13. Locking
13 Basi di Da( ‐ Controllo di concorrenza
14. PrimiUve di lock
r‐lock: lock in leGura (shared)
w‐lock: lock in scriGura (exclusive)
unlock
STATO DI UN OGGETTO:
libero
r‐locked (bloccato da un leGore)
w‐locked (bloccato da uno scriGore)
14 Basi di Da( ‐ Controllo di concorrenza
16. Tabella dei confli
r‐locked w‐locked
r‐lock OK NO
w‐lock NO NO
OK : blocco della risorsa, contatore dei leGori
il programma procede r‐lock
NO : il programma r‐counter <‐ r‐counter + 1
va in aGesa che unlock
la risorsa venga sbloccata r‐counter <‐ r‐counter ‐ 1
16 Basi di Da( ‐ Controllo di concorrenza
19. Granularità del locking
lock
relazione
a livello di: (più la
relazione granularità
pagina è ridoGa
pagina
tupla più è
valore di un tupla elevata la
aGributo concorrenza)
di una tupla valore
19 Basi di Da( ‐ Controllo di concorrenza
24. Livelli di isolamento
Riassumendo…
Tipi di problemi:
• Lost update
• Dirty read
• Unrepeatable read
Livelli di isolamento:
• 0 (Chaos) si presentano tu i tre problemi
• 1 (Browse) non si hanno lost update
• 2 (Cursor stability)
non si hanno lost update e dirty read
• 3 (Repeatable reads)
nessun problema (isolaUon “pura”)
24 Basi di Da( ‐ Controllo di concorrenza