Combine 2 Raspberry Pi 3
Can i somehow combine 2 Pi's so i have a better CPU speed? I'm new to this so a link to some tutorials (if possible) would be nice
I know you can create a cluster for a database so you can scale it, but is this possible for the whole system?
Thanks!
cluster
add a comment |
Can i somehow combine 2 Pi's so i have a better CPU speed? I'm new to this so a link to some tutorials (if possible) would be nice
I know you can create a cluster for a database so you can scale it, but is this possible for the whole system?
Thanks!
cluster
add a comment |
Can i somehow combine 2 Pi's so i have a better CPU speed? I'm new to this so a link to some tutorials (if possible) would be nice
I know you can create a cluster for a database so you can scale it, but is this possible for the whole system?
Thanks!
cluster
Can i somehow combine 2 Pi's so i have a better CPU speed? I'm new to this so a link to some tutorials (if possible) would be nice
I know you can create a cluster for a database so you can scale it, but is this possible for the whole system?
Thanks!
cluster
cluster
asked Jan 13 at 14:35
Sp3ct4cul4rSp3ct4cul4r
111
111
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
No you can't combine 2 Pi's to have better CPU speed. Any software designed for a cluster must be specifically written to do so.
If you haven't already I suggest buying a Pi3B+, it is noticeably quicker than a Pi3B.
add a comment |
It can be a common misconception that you can sort of just bootstrap machines together and get greater performance. Sadly when it comes to building clusters, especially of raspberry pi's the use cases become pretty niche, and limited. This is the kind of thing that you would be building. While making one of these can yield better performance, it can only do so when applied to certain problems, and even then, you wouldn't see an immediate increase in speed or anything. Having a cluster really just allows for you to divvy up computation to a greater amount of cores. Code that you want to run on said cluster would have to be written specifically to be parallelized, and run on multiple machines using some kind of framework, the most popular being MPI (Message Passing Interface).
Raspberry Pi's are not the ideal candidates for these kind of clusters either. On top of not having great performance to begin with, you would would be getting tremendous bottlenecks as a result of slow IO (depending on which version of the RPI). That isn't to say you shouldn't build a cluster if you wanted to, they can be a great learning experience and a lot of fun to mess around with, just know if you are looking for performance improvements you might consider looking else where.
add a comment |
You'll never achieve a better per-process performance - you can't double the clock speed of a single Raspberry Pi in that way.
Depending on the software that you want to run, you can create a cluster of Pi's which communicate with each other (probably via the Ethernet interface) to run certain tasks, and these tasks can then be run in parallel on every node in the cluster. In other words: you can achieve horizontal scalability (more nodes in a cluster), not vertical scalability (a single node can never be made faster).
Google around for 'Docker Swarm on a Raspberry Pi Cluster' for example, there are numerous examples and projects out there. Docker is a piece of software that allows you to run containers (small 'virtualized' applications), any piece of software that is containerized in a Docker image (see www.docker.com and this article) can then be run either on a single Pi, or in a redundant fashion on a cluster of Pi's.
Note: I completely agree with @drewrip's answer: Raspberry Pi's are not the ideal platform for this - they have some limitations which you must be aware of. You can read about some of the drawbacks (w.r.t. the OS, the flash drive, power management etc.) here.
New contributor
pietervanwijngaarden is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("schematics", function () {
StackExchange.schematics.init();
});
}, "cicuitlab");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "447"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fraspberrypi.stackexchange.com%2fquestions%2f93020%2fcombine-2-raspberry-pi-3%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
No you can't combine 2 Pi's to have better CPU speed. Any software designed for a cluster must be specifically written to do so.
If you haven't already I suggest buying a Pi3B+, it is noticeably quicker than a Pi3B.
add a comment |
No you can't combine 2 Pi's to have better CPU speed. Any software designed for a cluster must be specifically written to do so.
If you haven't already I suggest buying a Pi3B+, it is noticeably quicker than a Pi3B.
add a comment |
No you can't combine 2 Pi's to have better CPU speed. Any software designed for a cluster must be specifically written to do so.
If you haven't already I suggest buying a Pi3B+, it is noticeably quicker than a Pi3B.
No you can't combine 2 Pi's to have better CPU speed. Any software designed for a cluster must be specifically written to do so.
If you haven't already I suggest buying a Pi3B+, it is noticeably quicker than a Pi3B.
answered Jan 13 at 14:46
CoderMikeCoderMike
2,2991412
2,2991412
add a comment |
add a comment |
It can be a common misconception that you can sort of just bootstrap machines together and get greater performance. Sadly when it comes to building clusters, especially of raspberry pi's the use cases become pretty niche, and limited. This is the kind of thing that you would be building. While making one of these can yield better performance, it can only do so when applied to certain problems, and even then, you wouldn't see an immediate increase in speed or anything. Having a cluster really just allows for you to divvy up computation to a greater amount of cores. Code that you want to run on said cluster would have to be written specifically to be parallelized, and run on multiple machines using some kind of framework, the most popular being MPI (Message Passing Interface).
Raspberry Pi's are not the ideal candidates for these kind of clusters either. On top of not having great performance to begin with, you would would be getting tremendous bottlenecks as a result of slow IO (depending on which version of the RPI). That isn't to say you shouldn't build a cluster if you wanted to, they can be a great learning experience and a lot of fun to mess around with, just know if you are looking for performance improvements you might consider looking else where.
add a comment |
It can be a common misconception that you can sort of just bootstrap machines together and get greater performance. Sadly when it comes to building clusters, especially of raspberry pi's the use cases become pretty niche, and limited. This is the kind of thing that you would be building. While making one of these can yield better performance, it can only do so when applied to certain problems, and even then, you wouldn't see an immediate increase in speed or anything. Having a cluster really just allows for you to divvy up computation to a greater amount of cores. Code that you want to run on said cluster would have to be written specifically to be parallelized, and run on multiple machines using some kind of framework, the most popular being MPI (Message Passing Interface).
Raspberry Pi's are not the ideal candidates for these kind of clusters either. On top of not having great performance to begin with, you would would be getting tremendous bottlenecks as a result of slow IO (depending on which version of the RPI). That isn't to say you shouldn't build a cluster if you wanted to, they can be a great learning experience and a lot of fun to mess around with, just know if you are looking for performance improvements you might consider looking else where.
add a comment |
It can be a common misconception that you can sort of just bootstrap machines together and get greater performance. Sadly when it comes to building clusters, especially of raspberry pi's the use cases become pretty niche, and limited. This is the kind of thing that you would be building. While making one of these can yield better performance, it can only do so when applied to certain problems, and even then, you wouldn't see an immediate increase in speed or anything. Having a cluster really just allows for you to divvy up computation to a greater amount of cores. Code that you want to run on said cluster would have to be written specifically to be parallelized, and run on multiple machines using some kind of framework, the most popular being MPI (Message Passing Interface).
Raspberry Pi's are not the ideal candidates for these kind of clusters either. On top of not having great performance to begin with, you would would be getting tremendous bottlenecks as a result of slow IO (depending on which version of the RPI). That isn't to say you shouldn't build a cluster if you wanted to, they can be a great learning experience and a lot of fun to mess around with, just know if you are looking for performance improvements you might consider looking else where.
It can be a common misconception that you can sort of just bootstrap machines together and get greater performance. Sadly when it comes to building clusters, especially of raspberry pi's the use cases become pretty niche, and limited. This is the kind of thing that you would be building. While making one of these can yield better performance, it can only do so when applied to certain problems, and even then, you wouldn't see an immediate increase in speed or anything. Having a cluster really just allows for you to divvy up computation to a greater amount of cores. Code that you want to run on said cluster would have to be written specifically to be parallelized, and run on multiple machines using some kind of framework, the most popular being MPI (Message Passing Interface).
Raspberry Pi's are not the ideal candidates for these kind of clusters either. On top of not having great performance to begin with, you would would be getting tremendous bottlenecks as a result of slow IO (depending on which version of the RPI). That isn't to say you shouldn't build a cluster if you wanted to, they can be a great learning experience and a lot of fun to mess around with, just know if you are looking for performance improvements you might consider looking else where.
answered Jan 13 at 23:31
drewripdrewrip
211
211
add a comment |
add a comment |
You'll never achieve a better per-process performance - you can't double the clock speed of a single Raspberry Pi in that way.
Depending on the software that you want to run, you can create a cluster of Pi's which communicate with each other (probably via the Ethernet interface) to run certain tasks, and these tasks can then be run in parallel on every node in the cluster. In other words: you can achieve horizontal scalability (more nodes in a cluster), not vertical scalability (a single node can never be made faster).
Google around for 'Docker Swarm on a Raspberry Pi Cluster' for example, there are numerous examples and projects out there. Docker is a piece of software that allows you to run containers (small 'virtualized' applications), any piece of software that is containerized in a Docker image (see www.docker.com and this article) can then be run either on a single Pi, or in a redundant fashion on a cluster of Pi's.
Note: I completely agree with @drewrip's answer: Raspberry Pi's are not the ideal platform for this - they have some limitations which you must be aware of. You can read about some of the drawbacks (w.r.t. the OS, the flash drive, power management etc.) here.
New contributor
pietervanwijngaarden is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
You'll never achieve a better per-process performance - you can't double the clock speed of a single Raspberry Pi in that way.
Depending on the software that you want to run, you can create a cluster of Pi's which communicate with each other (probably via the Ethernet interface) to run certain tasks, and these tasks can then be run in parallel on every node in the cluster. In other words: you can achieve horizontal scalability (more nodes in a cluster), not vertical scalability (a single node can never be made faster).
Google around for 'Docker Swarm on a Raspberry Pi Cluster' for example, there are numerous examples and projects out there. Docker is a piece of software that allows you to run containers (small 'virtualized' applications), any piece of software that is containerized in a Docker image (see www.docker.com and this article) can then be run either on a single Pi, or in a redundant fashion on a cluster of Pi's.
Note: I completely agree with @drewrip's answer: Raspberry Pi's are not the ideal platform for this - they have some limitations which you must be aware of. You can read about some of the drawbacks (w.r.t. the OS, the flash drive, power management etc.) here.
New contributor
pietervanwijngaarden is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
You'll never achieve a better per-process performance - you can't double the clock speed of a single Raspberry Pi in that way.
Depending on the software that you want to run, you can create a cluster of Pi's which communicate with each other (probably via the Ethernet interface) to run certain tasks, and these tasks can then be run in parallel on every node in the cluster. In other words: you can achieve horizontal scalability (more nodes in a cluster), not vertical scalability (a single node can never be made faster).
Google around for 'Docker Swarm on a Raspberry Pi Cluster' for example, there are numerous examples and projects out there. Docker is a piece of software that allows you to run containers (small 'virtualized' applications), any piece of software that is containerized in a Docker image (see www.docker.com and this article) can then be run either on a single Pi, or in a redundant fashion on a cluster of Pi's.
Note: I completely agree with @drewrip's answer: Raspberry Pi's are not the ideal platform for this - they have some limitations which you must be aware of. You can read about some of the drawbacks (w.r.t. the OS, the flash drive, power management etc.) here.
New contributor
pietervanwijngaarden is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
You'll never achieve a better per-process performance - you can't double the clock speed of a single Raspberry Pi in that way.
Depending on the software that you want to run, you can create a cluster of Pi's which communicate with each other (probably via the Ethernet interface) to run certain tasks, and these tasks can then be run in parallel on every node in the cluster. In other words: you can achieve horizontal scalability (more nodes in a cluster), not vertical scalability (a single node can never be made faster).
Google around for 'Docker Swarm on a Raspberry Pi Cluster' for example, there are numerous examples and projects out there. Docker is a piece of software that allows you to run containers (small 'virtualized' applications), any piece of software that is containerized in a Docker image (see www.docker.com and this article) can then be run either on a single Pi, or in a redundant fashion on a cluster of Pi's.
Note: I completely agree with @drewrip's answer: Raspberry Pi's are not the ideal platform for this - they have some limitations which you must be aware of. You can read about some of the drawbacks (w.r.t. the OS, the flash drive, power management etc.) here.
New contributor
pietervanwijngaarden is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
pietervanwijngaarden is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
answered Feb 8 at 10:43
pietervanwijngaardenpietervanwijngaarden
516
516
New contributor
pietervanwijngaarden is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
pietervanwijngaarden is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
pietervanwijngaarden is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
add a comment |
Thanks for contributing an answer to Raspberry Pi Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fraspberrypi.stackexchange.com%2fquestions%2f93020%2fcombine-2-raspberry-pi-3%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown