\documentclass{article} %\usepackage{times} %\usepackage{amsthm} \usepackage{algorithm} % for pseudo-codes %\usepackage{enumerate} \usepackage{algpseudocode} %\usepackage{DotArrow} %\usepackage{subfig} %\usepackage{amsmath, environ} %\usepackage{amssymb} %\usepackage{amsthm} %%\usepackage{bm} %%\usepackage{mathtools} \usepackage{graphicx} %\usepackage{wrapfig} %\usepackage{minibox} %\usepackage{multirow} %\usepackage{pifont} % \ding{} %\usepackage[percent]{overpic} %\usepackage{scrextend} % labeling environment % %\newtheorem{theorem}{Theorem} %\newtheorem{definition}{Definition} %\newtheorem{example}{Example} % %\renewcommand{\textfraction}{0.05} %\renewcommand{\floatpagefraction}{0.75} \newcommand{\centerimage}[5][-7pt]{ % [vskip] | graphics-opt | imgname | label | caption \begin{figure}[!htb]% \centering% \vspace{#1}% \includegraphics[#2]{#3}% \caption{#5}\label{#4}\vspace{2mm}% %\vspace{-3pt}\caption{#5}\label{#4}\vspace{-2pt}% \end{figure}} \date{} %\includegraphics[trim=1cm 2cm 3cm 4cm, clip=true]{example.pdf} \begin{document} \title{Relazione Esercizio Rete PT (C)} \author{Francesco Galla`, francesco.galla@edu.unito.it} \maketitle %========================================================================= %%%%%%% INTRODUCTION %%%%%%% %========================================================================= \section{Rete C} \label{sec:reteC} Due master distinti (seppur di uguale struttura). Ad ogni ciclo il master sceglie in modo indipendente di quale dei due slave servirsi. %========================================================================================================= \subsection{La rete di Petri} \label{ssec:reteC-PN} La figura rappresenta la rete di Petri P/T del terzo esercizio (rete C). I master sono modellati dai posti {M1,M2}\_Richiesta, {M1,M2}\_Attesa, {M1,M2}\_Risultato e dalle transizioni {M1,M2}\_Dispatch, {M1,M2}\_Ottieni\_Risultato, {M1,M2}\_Return. Lo slave di tipo 1 è modellato dai posti S1\_Attesa, Child1/Child2, Fine\_C1, Fine\_C2, S1\_Fine e dalle transizioni Fork, C1\_Processa/C2\_Processa, Join, S1\_Return. Lo slave di tipo 2 è modellato dai posti S2\_Attesa, S2\_Richieste, S2\_Risultati, S2\_Fine, e dalle transizioni Receive, S2\_Processa, Send, S2\_Return. Le richieste dei due master sono processate da due strutture di buffer, che permettono la scelta indipendente degli slave, anche quando essi sono occupati a gestire una richiesta precedente. In particolare, i posti M1\_Req1,M2\_Req1,M1\_Req2,M2\_Req2 sono utilizzati per mantenere in memoria quale slave e` stato scelto per processare le richieste. %\centerimage{trim=1cm 10cm 3cm 4cm, clip=true} \centerimage{width=\columnwidth} {reteC.jpg}{img:reteC} {Modello P/T della rete C} \subsection{I risultati} \label{ssec:reteC-res} %===================== TEST 2 FMS \begin{table}[h!] \centering \begin{tabular}{ |p{3cm}||p{3cm}|p{3cm}| } \hline \multicolumn{3}{|c|}{Effetto della marcatura iniziale su stati e archi} \\ \hline N & Stati & Archi\\ \hline 1 & 432 & 1248 \\ 2 & 36010 & 184810 \\ 3 & 1208480 & 8364420 \\ 4 & 22583430 & 189277330 \\ \hline \end{tabular} \\ \caption{Variazione dello spazio degli stati.} \label{tab:reteC} \end{table} %===================== La tabella elenca la dimensione dello spazio degli stati al variare del numero di master e di slave (N*master / N*slave). Si pu\`o osservare come, al variare della marcatura iniziale, il numero di stati e archi del grafo aumenta in modo lineare. \subsection{Considerazioni sulla Join} In questo modello vengono utilizzati due master distinti, per cui si introduce il problema della $join$ tra processi figli di due master differenti, nei buffer di uscita delle richieste processate dai figli. Per risolvere questo problema, si utilizzano 4 variabili: $M1\_Req1$, $M1\_Req2$, $M2\_Req1$, $M2\_Req2$, che tengono traccia delle richieste in attesa dei master. \end{document}