CSC3021 Concurrent Programming

ASSIGNMENT 1
CSC3021 Concurrent Programming 2023-2024
Submit by 5:59 pm on Monday 10th October 2023
Total 40 marks. Counts towards 30% of marks on CSC3021.
Question 1: Process Interleaving: Straight-Line Code [15 marks]
Consider the following program:
integer n := 1, k := 1
Process P
P1: n := k + 1
end P;
Process Q
Q1:
k := n - 1
end Q;
Analyse the above code and answer following questions:
• Consider whether all statements are atomic and transform the program
to load/store architecture if needed.
• Identify the conflicting pairs of atomic instructions.
• State an upper bound on the possible number of outcomes for this
program based on the number of processes and atomic instructions in
this program.
• State an upper bound on the possible number of outcomes for this
program based on the number of conflicting pairs found.
• What are the possible final values of ‘n’ and ‘k’? Justify your
answer.
Question 2: Process Interleaving with Control Flow [10 marks]
Consider the following program:
integer n := 1
boolean flag := true
Process P
P1: while( n == 1 ) {
; // nothing
}
P2: flag := false
end P;
Answer following questions:
Process Q
Q1: while( flag == true ) {
Q2: n := 1 – n
}
end Q;
(i) Consider whether all statements are atomic and transform the program to
load/store architecture if needed.
(ii) Identify all conflicting pairs of atomic instructions.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值