137 / 137 / 25
Регистрация: 30.09.2010
Сообщений: 333
1

Закон Амдала

08.05.2011, 12:12. Показов 8085. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Закон Амдала
(Время: 1 сек. Память: 16 Мб Сложность: 23%)

Параллельное программирование изучает методы построения программ, которые будут выполняться на нескольких процессорах. В результате решения одной из первых задач этого раздела информатики появился закон Амдала.

Задача Амдала формулировалась так. Имеется n процессоров и p процентов вычислений не могут выполняться параллельно. Во сколько раз быстрее можно выполнить вычисления по сравнению с одним процессором?

Например, если n = 10, p = 50, а на одном процессоре все вычисления выполняются за время t. Тогда первая половина вычислений (50%) будет выполнена за время t/(2•10) , а вторая - за время t/2. Общее время вычислений в этом случае составит t/2 + t/20 = 11•t/20, а ускорение по сравнению с одним процессором составит 20/11 раза.

Если же n = 10, p = 25, и на одном процессоре все вычисления выполняются за время t. Тогда 75% вычислений будут выполнены за время 3•t/(4•10) , а оставшиеся 25% - за время t/4 . Общее время вычислений в этом случае составит t/4 + 3•t/40 = 13•t/40, а ускорение по сравнению с одним процессором составит 40/13 раза.

Даны числа n и p. Напишите программу, решающую задачу Амдала.
Входные данные

Входной файл INPUT.TXT содержит 2 целых числа n и p. (1 <= n <= 1000, 0 <= p <= 100).
Выходные данные

В выходной файл OUTPUT.TXT выведите ответ на задачу с точностью, не меньшей 10-6.
Примеры
INPUT.TXT
10 50
OUTPUT.TXT
1.818181818

INPUT.TXT
10 25
OUTPUT.TXT
3.076923077

INPUT.TXT
1000 100
OUTPUT.TXT
1.000000000
Не могу понять как это высчитывается...помогите разобраться.

Добавлено через 36 минут
нашел формулу, но не подходит
C++
1
s = 1 / (p + (1 - p) / n);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2011, 12:12
Ответы с готовыми решениями:

Определение доли последовательного кода. Закон Амдала
Добрый день. Выполняю курсовую работу по выч. системам, где нужно распараллелить какой-либо...

задачи по темам: постоянный ток, закон Ома,несколько ЭДС в одной цепи, закон Джоуля-ленца
ПОМОГИТЕ, ПОЖАЛУЙСТА, РЕШИТЬ ЗАДАЧИ ПО ФИЗИКЕ!!! Тема: Постоянный ток. Сопротивление проводника. ...

Закон сохранения момента импульса и закон сохранения энергии
Человек стоит на краю горизонтальной платформы, вращающейся по инерции вокруг неподвижной оси с...

Закон ОМа
Что требуется: Написать скрипт который находил бы из закона ОМа неизвестную величину (любой из...

2
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
08.05.2011, 12:50 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <iomanip>
main(){
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    double n,p;
    std::cin >> n >> p;
    if (p) std::cout << std::fixed << std::setprecision(9) << 100/(p+(100-p)/n);
          else std::cout << n;
    std::cin.get();
    return 0;
}
2
137 / 137 / 25
Регистрация: 30.09.2010
Сообщений: 333
08.05.2011, 13:05  [ТС] 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
int main() {
    float p, n, s;
    //freopen("input.txt", "r", stdin);
    //freopen("output.txt", "w", stdout);
    cin >> n >> p;
    s = 1 /((p/100) + ((100-p)/(100*n)));
    printf("%0.9f", s);
    system("pause >> void");
    return 0;
}
чуток не сходилось с ответом)

Добавлено через 13 минут
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
int main() {
    float p, n, s;
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    cin >> n >> p;
    s = 1 / ((p / 100) + ((100 - p) / (100 * n)));
    printf("%0.9f", s - 0.000000054);
    return 0;
}
решение прошло все тесты =)))))
2
08.05.2011, 13:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2011, 13:05
Помогаю со студенческими работами здесь

Закон Кирхгофа
I5'=I2'+I4' E1-E3=I2'(R2+R02)+I5'(R5+R03) E2-E3=I4'(R4+R02)+I5'(R5+R03) Значения: E1=4,8;...

Закон распределения
Случайная величина Х задана функцией распределения: F(x)=\begin{cases} 0&amp; \text{ if } x\lt 0 \\ ...

Закон Ома
Найти токи и напряжения на всех участках, если приложенное напряжение U=280 в. R1= 20 Ом, R2= 60...

Нормальный закон
Ошибка измерительного прибора подчинена нормальному закону. Систематические ошибки прибор не даёт....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru