循环最坏情况响应时间

时间:2015-07-22 14:55:01

标签: scheduling round-robin

下面的伪代码显示了典型的Round Robin软件架构。如果每个设备需要20ms才能运行,而UpdateLCD()需要10ms才能执行,那么最坏情况下的响应时间是多少?

 imageUpload: function(req, res) {
    //console.log(req);
    req.file('avatar').upload({
        adapter: skipper,
        key: 'key',
        secret: 'secret',
        bucket: 'bucketName'
    }, function(err, fileUploaded){
        if (err) {
            console.log(err);
            return res.negotiate(err);
        }

        if (fileUploaded.length === 0) {
            return res.badRequest('No files uploaded');
        }

        var imageUrl = fileUploaded[0].extra.Location;
        var imageKy = fileUploaded[0].extra.Key;
        ImageUpload.create({urlLink: imageUrl, imageKey: imageKy}).then(function(urlAdded){
            if (urlAdded) {
                //return res.negotiate(err);
                //The linkAdded is the link the s3 provides to the image E.g https://bucket.s3.amazonaws.com/filename
                return res.json({linkAdded: urlAdded});
            }
        })
        .catch(function (err){
            return res.badRequest(err);
        });
    });
}

由于总共有4个设备(A,B,C,D),并且如果在设备A维修后,设备A需要维修,最坏情况下的响应时间应为20 + 20 + 20 + 10 = 70ms (假设设备B,C和D也需要维修)。

但是,在答案选择中,只有:85ms,110ms,35ms和25ms。我想我对循环架构的理解需要帮助..谢谢!

1 个答案:

答案 0 :(得分:0)

首先,你的数学错误:如果有四个设备(A,B,C和D),那么最坏的情况时间是20 * 4 + 10 = 90ms。

通过消除过程,它不能是85,35或25(因为提供的时间都是10的倍数),所以"正确"答案必须是110 ......但这将假设五个设备,而不是四个。