I'm attaching the "3webservers" image from http://guides.dataverse.org/en/4.15/installation/prep.html#advanced-installation
even though it's a bit out of date. We made a few changes when we moved Harvard Dataverse from physical hardware to AWS. We use Amazon RDS for PostgreSQL, for example, and more relevant to your question, we currently only have two Glassfish servers in production. We use an AWS load balancer.
As the diagram shows, each Glassfish server has its own installation of Apache. Not shown are mod_shib and shibd which are also installed on each Glassfish server. So that is to say that every Glassfish server has its one Shibboleth Service Provider (SP).
All of the above pertains to Harvard Dataverse (which we often call "production") and its two Glassfish servers.
I hope this helps. Please let me know if you have any questions. Don Sizemore from Odum/UNC as a lot more operational experience with Shibboleth than I do and he use a mix of the InCommon identity federation feed adds a handful of other IdPs on the side but I believe that (ever since Harvard joined the Research & Scholarship category of InCommon) Harvard Dataverse uses the feed alone. Don and I talk shib all the time in IRC if you'd like to join us: http://irclog.iq.harvard.edu/search.pl?channel=dataverse&q=shib
I hope this helps,