# Schedulability Analysis in Fixed-Priority Real-Time Multicore Systems with Contention
## 3 System Task Model  
We assume the same task model as the one presented in [4]. We suppose a multicore system with \(m\) homogeneous cores (\(M_{0},M_{1},M_{2},...,M_{m-1}\)) in which a task set \(\tau\) of \(n\) independent periodic or sporadic tasks must be statically allocated. Each task \(\tau_{i}\) is represented by the tuple  
\[\tau_{i}=(C_{i},D_{i},T_{i},I_{i}) \tag{1}\]  
where \(C_{i}\) is the WCET, \(D_{i}\) is the relative deadline, \(T_{i}\) is the period, and \(I_{i}\) is the interference. We assume constrained deadlines, so \(D_{i}\leq T_{i}\).  
The \(I_{i}\) parameter was first introduced in [4]; then, it was also used in [9]. Briefly, interference parameter \(I_{i}\) is the worst-case time that it takes \(\tau_{i}\) to access hardware resources and means a \"delay\" in other tasks executing at the same time on all other cores due to contention. \(I_{i}\) is the worst-case time that \(\tau_{i}\) spends reading and writing memory operations. This is depicted in Figure 1, where we can see that all the time that \(\tau_{0}\) dedicates to these operations is included in interference parameter \(I_{0}\). Task execution times are represented by solid rectangles while interference is sketched in dashed rectangles. Considering the viewpoint of other tasks, \(I_{i}\) is the additional time that \(\tau_{i}\) causes in other tasks concurrently executing on other cores due to contention. For a more comprehensive understanding of the interference parameter, please refer to the aforementioned articles.  
Although our work introduces the interference parameter in the general model, there are two commonly used approaches for modeling interference: one involves utilizing a model tailored to the particular type of shared hardware, while the other proposes a general model that is applicable to any type of hardware. The former approach provides a more accurate estimation of interference but is limited to the specific hardware for which it was developed. Additionally, this interference value is typically incorporated into WCET, result ing in a highly pessimistic solution. On the other hand, the latter approach yields a higher interference value, but by independently incorporating this parameter into the temporal model, it is possible to derive a less pessimistic model.  
The hyperperiod of \(\tau\), \(H\), is the time after which the pattern of job release times starts to repeat and is the least common multiple of the periods of all the tasks in that set. \(N_{i}\) is the number of activations that task \(\tau_{i}\) has throughout the hyperperiod (\(N_{i}=H/T_{i}\)).  
Throughout this text, we talk about tasks that belong or not to a core. When we refer to \(M_{\tau_{i}}\), we mean the core in which \(\tau_{i}\) is allocated. Moreover, we denote by \(\tau_{M_{k}}\) the set of tasks in \(\tau\) that belong to core \(M_{k}\). Therefore, \(\bigcup_{k=0}^{m-1}\tau_{M_{k}}=\tau\).  
Also from [4], a task is designated as a receiving task when it accesses shared hardware resources, resulting in an increase in its computation time caused by interference from other tasks allocated to different cores. Conversely, a task is classified as a broadcasting task when its access to shared hardware resources triggers an increment in computation time in other tasks allocated to different cores due to contention. If the interference parameter of task \(\tau_{i}\) is equal to zero (\(I_{i}=0\)), then \(\tau_{i}\) is neither a broadcasting nor a receiving task. If \(I_{i}>0\) and there is at least one task \(\tau_{j}\) in another core whose \(I_{j}>0\), \(\tau_{i}\) is a broadcasting and receiving task.  
Once the model is defined, let us introduce the concept of interference in the schedulability analysis of real-time multicore systems based on fixed priorities.