How can I create a surface of evenly space hemispheres?
Grid of hemispheres
As long as you don't need to populate curved surfaces, the simplest, quickest and more flexible way to create a grid made by the same object is probably using two stacked Array modifiers.
Start from creating one hemisphere.

As we'll make the fibers by duplicating a fiber upon each face, we'll need to start with a Ico Sphere, which is made by evenly sized faces.
Add one and increase the number of Subdivison in the operator panel you find on the left.

Then delete the bottom vertices and add an Array modifier to replicate the geometry along the X axis. Increase the relative offset to adjust the distance between the hemispheres.

After that we'll have to add a second modifier to duplicate the object along the Z axis

The grid has been created. The first parameter of each modifier controls the duplication count.
Fibers
Go to the particle system tab and crate a new Hair System for the object. Enable Advanced, set 1 particle per face and enable Use modifier Stack option in order to take into account all the modifiers previuvsly created.

Create a &quot;Fiber&quot; sample object to be replicated where the hairs are. To do so, model it the way you want it, just make sure it is pointing toward the Y axis and his rotation is 0,0,0 as in the picture below:

Go to the hair system's render panel, choose Object and point the field to the Fiber sample object: